Testing rounds
continuous-integration/drone/push Build is passing Details

pull/26/head
Arthur VALIN 2 years ago
parent 3a5d487041
commit f013a32158

@ -101,12 +101,12 @@ class LastRound extends AbstractRound {
return 10;
} else if (firstThrow == 10 && secondThrow == null) {
return 10;
} else if (secondThrow == null) {
return 10 - (firstThrow ?? 0);
} else if (secondThrow == 10) {
} else if ( secondThrow == null ){
return 10 - ( firstThrow ?? 0 );
} else if ( ( firstThrow ?? 0 ) + ( secondThrow ?? 0 ) == 10 || secondThrow == 10 ){
return 10;
} else {
return 10 - (secondThrow ?? 0);
return 10 - ( secondThrow ?? 0 );
}
}
}

@ -2,14 +2,14 @@ import 'package:bowl_in/model/GameDetail.dart';
import 'package:bowl_in/model/Player.dart';
class Stat {
int _nbVictory;
int _nbGames;
int _highscore;
int _nbStrikes;
int _nbSpares;
int _nbScore;
double _avgScore;
double _avgPinsPerRound;
int _nbVictory = 0;
int _nbGames = 0;
int _highscore = 0;
int _nbStrikes = 0;
int _nbSpares = 0;
int _nbScore = 0;
double _avgScore = 0;
double _avgPinsPerRound = 0;
// Constructor
Stat(
@ -23,6 +23,9 @@ class Stat {
this._avgPinsPerRound,
);
Stat.empty();
// Getters and setters
int get nbVictory => _nbVictory;

@ -0,0 +1,80 @@
import 'package:bowl_in/model/LastRound.dart';
import 'package:bowl_in/model/Round.dart';
import 'package:bowl_in/model/Stat.dart';
import 'package:bowl_in/model/User.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
test("Test Round", (){
User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], [], Stat.empty());
Round r = Round(null, null, null, u, 1);
expect(r.getMaxPinsThisShot(), 10);
expect(r.isSpareOrStrike(), false);
r.computeNext(4);
expect(r.getMaxPinsThisShot(), 6);
r.computeNext(6);
expect(r.isSpare(), true);
expect(r.isSpareOrStrike(), true);
expect(r.isStrike(), false);
expect(r.getNbSpares(), 1);
expect(r.getNbStrike(), 0);
Round r2 = Round(null, null, null, u, 2);
r2.computeNext(10);
expect(r2.isSpare(), false);
expect(r2.isStrike(), true);
expect(r2.isSpareOrStrike(), true);
expect(r2.getNbSpares(), 0);
expect(r2.getNbStrike(), 1);
Round r3 = Round(null, null, null, u, 2);
r3.computeNext(2);
r3.computeNext(5);
expect(r3.getPinsKnockedDown(), 7);
});
test("Test LastRound", (){
User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], [], Stat.empty());
LastRound r = LastRound(null, null, null, u, 1, null);
expect(r.getMaxPinsThisShot(), 10);
expect(r.isSpareOrStrike(), false);
r.computeNext(10);
expect(r.getMaxPinsThisShot(), 10);
r.computeNext(10);
expect(r.getMaxPinsThisShot(), 10);
r.computeNext(10);
expect(r.getPinsKnockedDown(), 30);
expect(r.getNbSpares(), 0);
expect(r.getNbStrike(), 3);
LastRound r2 = LastRound(null, null, null, u, 1, null);
r2.computeNext(1);
expect(r2.getMaxPinsThisShot(), 9);
r2.computeNext(9);
expect(r2.getMaxPinsThisShot(), 10);
r2.computeNext(10);
expect(r2.getPinsKnockedDown(), 20);
expect(r2.getNbSpares(), 1);
expect(r2.getNbStrike(), 1);
LastRound r3 = LastRound(null, null, null, u, 1, null);
r3.computeNext(10);
r3.computeNext(2);
expect(r3.getMaxPinsThisShot(), 8);
r3.computeNext(8);
expect(r3.getPinsKnockedDown(), 20);
expect(r3.getNbSpares(), 1);
expect(r3.getNbStrike(), 1);
});
}
Loading…
Cancel
Save