Adding more tests and removing unnecessary attributes from our models
continuous-integration/drone/push Build is passing Details

pull/26/head
Arthur VALIN 2 years ago
parent f013a32158
commit 416e94db35

@ -1,44 +1,17 @@
import 'Player.dart'; import 'Player.dart';
class Game { class Game {
int _id; final int _id;
DateTime _date; final DateTime _date;
int _pointsCurrentUser; final int _pointsCurrentUser;
bool _isFinished; final List<Player> _players;
List<Player> _players = [];
// Constructor // Constructor
Game(this._id, this._date, this._pointsCurrentUser, this._isFinished, Game(this._id, this._date, this._pointsCurrentUser,
this._players); this._players);
// Getters and setters
int get id => _id; int get id => _id;
set id(int value) {
_id = value;
}
DateTime get date => _date; DateTime get date => _date;
set date(DateTime value) {
_date = value;
}
int get pointsCurrentUser => _pointsCurrentUser; int get pointsCurrentUser => _pointsCurrentUser;
set pointsCurrentUser(int value) {
_pointsCurrentUser = value;
}
bool get isFinished => _isFinished;
set isFinished(bool value) {
_isFinished = value;
}
List<Player> get players => _players; List<Player> get players => _players;
set playersId(List<Player> value) {
_players = value;
}
} }

@ -7,18 +7,15 @@ import 'User.dart';
class GameDetail { class GameDetail {
int _id; int _id;
DateTime _time; final DateTime _time;
Player? _winner; Player? _winner;
int _nbPoints; final int _host;
bool _isFinished; final List<AbstractRound> _rounds = [];
int _host; final List<Player> _players;
List<AbstractRound> _rounds = [];
List<Player> _players = [];
final Map<Player, int> _points = {}; final Map<Player, int> _points = {};
// Constructor // Constructor
GameDetail(this._id, this._time, this._winner, this._nbPoints, GameDetail(this._id, this._time, this._winner, this._host, this._players) {
this._isFinished, this._host, this._players) {
for (int i = 1; i <= 9; i++) { for (int i = 1; i <= 9; i++) {
players.forEach((element) { players.forEach((element) {
this.rounds.add(Round(null, null, 0, element, i)); this.rounds.add(Round(null, null, 0, element, i));
@ -38,52 +35,24 @@ class GameDetail {
DateTime get time => _time; DateTime get time => _time;
set time(DateTime value) {
_time = value;
}
Player? get winner => _winner; Player? get winner => _winner;
set winner(Player? value) { set winner(Player? value) {
_winner = value; _winner = value;
} }
int get nbPoints => _nbPoints;
set nbPoints(int value) {
_nbPoints = value;
}
bool get isFinished => _isFinished;
set isFinished(bool value) {
_isFinished = value;
}
int get host => _host; int get host => _host;
set host(int value) {
_host = value;
}
List<AbstractRound> get rounds => _rounds; List<AbstractRound> get rounds => _rounds;
set rounds(List<AbstractRound> value) {
_rounds = value;
}
List<Player> get players => _players; List<Player> get players => _players;
set players(List<Player> value) {
_players = value;
}
Map<Player, int> get points => _points; Map<Player, int> get points => _points;
void addGameToUsers() { void addGameToUsers() {
for (var p in players) { for (var p in players) {
if (p is User) { if (p is User) {
p.games.add(Game(this.id, this.time, points[p] ?? 0, true, players)); p.games.add(Game(this.id, this.time, points[p] ?? 0, players));
p.stat.updateStats(this, p); p.stat.updateStats(this, p);
} }
} }

@ -49,8 +49,7 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(0, 0, 0, 0, 0, 0, 0, 0)),
User( User(
9, 9,
"Dave", "Dave",
@ -72,8 +71,7 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(0, 0, 0, 0, 0, 0, 0, 0)),
User( User(
22, 22,
"Louison", "Louison",
@ -84,8 +82,7 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(10, 12, 150, 7, 6, 700, 58.33, 30.2)),
User( User(
23, 23,
"Owen", "Owen",
@ -96,8 +93,7 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(10, 12, 10, 7, 6, 700, 58.33, 30.2)),
User( User(
24, 24,
"LULU", "LULU",
@ -108,8 +104,7 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(10, 12, 40, 7, 6, 700, 58.33, 30.2)),
User( User(
25, 25,
"Raphael", "Raphael",
@ -120,10 +115,8 @@ class StubData extends IManager {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[], []),
Stat(10, 12, 76, 7, 6, 700, 58.33, 30.2)), ])
],
Stat(0, 0, 0, 0, 0, 0, 0, 0))
]; ];
List<GameDetail> _gameDetails = []; List<GameDetail> _gameDetails = [];

@ -8,12 +8,12 @@ class User extends Player {
String _mail; String _mail;
List<Achievement> _achievements = <Achievement>[]; List<Achievement> _achievements = <Achievement>[];
List<User> _friends = <User>[]; List<User> _friends = <User>[];
Stat _stat; final Stat _stat = Stat.empty();
List<Game> games = []; List<Game> games = [];
// Constructor // Constructor
User(this._id, String name, String image, this._mail, this._achievements, User(this._id, String name, String image, this._mail, this._achievements,
this._friends, this._stat) this._friends)
: super(name, image); : super(name, image);
int get id => _id; int get id => _id;
@ -38,8 +38,4 @@ class User extends Player {
} }
Stat get stat => _stat; Stat get stat => _stat;
set stat(Stat value) {
_stat = value;
}
} }

@ -50,7 +50,7 @@ class _InGameScreenState extends State<InGameScreen> {
Spacer(), Spacer(),
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
GameDetail gd = GameDetail(-1, DateTime.now(), null, 0, false, GameDetail gd = GameDetail(-1, DateTime.now(), null,
MyApp.controller.userCurrent.id, listPlayers); MyApp.controller.userCurrent.id, listPlayers);
MyApp.controller.gamePlayer.game = gd; MyApp.controller.gamePlayer.game = gd;

@ -1,4 +1,3 @@
import 'package:bowl_in/model/AbstractRound.dart';
import 'package:bowl_in/model/GameDetail.dart'; import 'package:bowl_in/model/GameDetail.dart';
import 'package:bowl_in/model/Guest.dart'; import 'package:bowl_in/model/Guest.dart';
import 'package:bowl_in/model/IManager.dart'; import 'package:bowl_in/model/IManager.dart';
@ -13,7 +12,11 @@ void testManager(IManager mgr) {
List<Player> players = [mgr.userCurrent, Guest("Emre")]; List<Player> players = [mgr.userCurrent, Guest("Emre")];
GameDetail gd = GameDetail( GameDetail gd = GameDetail(
mgr.gameMgr.getNextId(), DateTime.now(), null, 135, true, 5, players); mgr.gameMgr.getNextId(), DateTime.now(), null, mgr.userCurrent.id, players);
expect(gd.players, players);
expect(gd.host, mgr.userCurrent.id);
mgr.gameMgr.addGame(gd); mgr.gameMgr.addGame(gd);

@ -16,8 +16,6 @@ void main() {
-1, -1,
DateTime.now(), DateTime.now(),
null, null,
0,
false,
mgr.userCurrent.id, mgr.userCurrent.id,
listPlayers); listPlayers);
mgr.gamePlayer.game = gd; mgr.gamePlayer.game = gd;
@ -44,12 +42,12 @@ void main() {
final IManager mgr = StubData(); final IManager mgr = StubData();
final List<Player> listPlayers = [mgr.userCurrent, Guest("Lucas")]; final List<Player> listPlayers = [mgr.userCurrent, Guest("Lucas")];
final DateTime dateGame = DateTime.now();
final GameDetail gd = GameDetail( final GameDetail gd = GameDetail(
-1, -1,
DateTime.now(), dateGame,
null, null,
0,
false,
mgr.userCurrent.id, mgr.userCurrent.id,
listPlayers); listPlayers);
mgr.gamePlayer.game = gd; mgr.gamePlayer.game = gd;
@ -123,6 +121,9 @@ void main() {
expect(mgr.userCurrent.games.length, 1); expect(mgr.userCurrent.games.length, 1);
expect(mgr.userCurrent.games.first.id, mgr.gamePlayer.game.id); expect(mgr.userCurrent.games.first.id, mgr.gamePlayer.game.id);
expect(mgr.userCurrent.games.first.pointsCurrentUser, 128);
expect(mgr.userCurrent.games.first.date, dateGame);
expect(mgr.userCurrent.games.first.players, listPlayers);
}); });

@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart';
void main() { void main() {
test("Test Round", (){ test("Test Round", (){
User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], [], Stat.empty()); User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], []);
Round r = Round(null, null, null, u, 1); Round r = Round(null, null, null, u, 1);
expect(r.getMaxPinsThisShot(), 10); expect(r.getMaxPinsThisShot(), 10);
@ -40,7 +40,7 @@ void main() {
}); });
test("Test LastRound", (){ test("Test LastRound", (){
User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], [], Stat.empty()); User u = User(1, "Louison" , "Sources/bowlin_project/assets/images/image_user_pink.png", "loparant@gmail.com", [], []);
LastRound r = LastRound(null, null, null, u, 1, null); LastRound r = LastRound(null, null, null, u, 1, null);
expect(r.getMaxPinsThisShot(), 10); expect(r.getMaxPinsThisShot(), 10);

Loading…
Cancel
Save