diff --git a/Sources/bowlin_project/lib/model/Game.dart b/Sources/bowlin_project/lib/model/Game.dart index 8f6c909..7c73eee 100644 --- a/Sources/bowlin_project/lib/model/Game.dart +++ b/Sources/bowlin_project/lib/model/Game.dart @@ -1,44 +1,17 @@ import 'Player.dart'; class Game { - int _id; - DateTime _date; - int _pointsCurrentUser; - bool _isFinished; - List _players = []; + final int _id; + final DateTime _date; + final int _pointsCurrentUser; + final List _players; // Constructor - Game(this._id, this._date, this._pointsCurrentUser, this._isFinished, + Game(this._id, this._date, this._pointsCurrentUser, this._players); - // Getters and setters int get id => _id; - - set id(int value) { - _id = value; - } - DateTime get date => _date; - - set date(DateTime value) { - _date = value; - } - int get pointsCurrentUser => _pointsCurrentUser; - - set pointsCurrentUser(int value) { - _pointsCurrentUser = value; - } - - bool get isFinished => _isFinished; - - set isFinished(bool value) { - _isFinished = value; - } - List get players => _players; - - set playersId(List value) { - _players = value; - } } diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart index 9291a99..51c0cd4 100644 --- a/Sources/bowlin_project/lib/model/GameDetail.dart +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -7,18 +7,15 @@ import 'User.dart'; class GameDetail { int _id; - DateTime _time; + final DateTime _time; Player? _winner; - int _nbPoints; - bool _isFinished; - int _host; - List _rounds = []; - List _players = []; + final int _host; + final List _rounds = []; + final List _players; final Map _points = {}; // Constructor - GameDetail(this._id, this._time, this._winner, this._nbPoints, - this._isFinished, this._host, this._players) { + GameDetail(this._id, this._time, this._winner, this._host, this._players) { for (int i = 1; i <= 9; i++) { players.forEach((element) { this.rounds.add(Round(null, null, 0, element, i)); @@ -38,52 +35,24 @@ class GameDetail { DateTime get time => _time; - set time(DateTime value) { - _time = value; - } - Player? get winner => _winner; set winner(Player? 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; - set host(int value) { - _host = value; - } - List get rounds => _rounds; - set rounds(List value) { - _rounds = value; - } - List get players => _players; - set players(List value) { - _players = value; - } - Map get points => _points; void addGameToUsers() { for (var p in players) { 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); } } diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart index 95b7a21..5bb66b8 100644 --- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -49,8 +49,7 @@ class StubData extends IManager { Achievement("2 strikes in a row"), Achievement("Win a game") ], - [], - Stat(0, 0, 0, 0, 0, 0, 0, 0)), + []), User( 9, "Dave", @@ -72,8 +71,7 @@ class StubData extends IManager { Achievement("2 strikes in a row"), Achievement("Win a game") ], - [], - Stat(0, 0, 0, 0, 0, 0, 0, 0)), + []), User( 22, "Louison", @@ -84,8 +82,7 @@ class StubData extends IManager { Achievement("2 strikes in a row"), Achievement("Win a game") ], - [], - Stat(10, 12, 150, 7, 6, 700, 58.33, 30.2)), + []), User( 23, "Owen", @@ -96,8 +93,7 @@ class StubData extends IManager { Achievement("2 strikes in a row"), Achievement("Win a game") ], - [], - Stat(10, 12, 10, 7, 6, 700, 58.33, 30.2)), + []), User( 24, "LULU", @@ -108,8 +104,7 @@ class StubData extends IManager { Achievement("2 strikes in a row"), Achievement("Win a game") ], - [], - Stat(10, 12, 40, 7, 6, 700, 58.33, 30.2)), + []), User( 25, "Raphael", @@ -120,10 +115,8 @@ class StubData extends IManager { Achievement("2 strikes in a row"), 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 _gameDetails = []; diff --git a/Sources/bowlin_project/lib/model/User.dart b/Sources/bowlin_project/lib/model/User.dart index b1740aa..b5b1bd7 100644 --- a/Sources/bowlin_project/lib/model/User.dart +++ b/Sources/bowlin_project/lib/model/User.dart @@ -8,12 +8,12 @@ class User extends Player { String _mail; List _achievements = []; List _friends = []; - Stat _stat; + final Stat _stat = Stat.empty(); List games = []; // Constructor User(this._id, String name, String image, this._mail, this._achievements, - this._friends, this._stat) + this._friends) : super(name, image); int get id => _id; @@ -38,8 +38,4 @@ class User extends Player { } Stat get stat => _stat; - - set stat(Stat value) { - _stat = value; - } } diff --git a/Sources/bowlin_project/lib/views/ingame_screen.dart b/Sources/bowlin_project/lib/views/ingame_screen.dart index 43935ac..5bccba5 100644 --- a/Sources/bowlin_project/lib/views/ingame_screen.dart +++ b/Sources/bowlin_project/lib/views/ingame_screen.dart @@ -50,7 +50,7 @@ class _InGameScreenState extends State { Spacer(), ElevatedButton( onPressed: () { - GameDetail gd = GameDetail(-1, DateTime.now(), null, 0, false, + GameDetail gd = GameDetail(-1, DateTime.now(), null, MyApp.controller.userCurrent.id, listPlayers); MyApp.controller.gamePlayer.game = gd; diff --git a/Sources/bowlin_project/test/manager_test.dart b/Sources/bowlin_project/test/manager_test.dart index 17a407b..62b237c 100644 --- a/Sources/bowlin_project/test/manager_test.dart +++ b/Sources/bowlin_project/test/manager_test.dart @@ -1,4 +1,3 @@ -import 'package:bowl_in/model/AbstractRound.dart'; import 'package:bowl_in/model/GameDetail.dart'; import 'package:bowl_in/model/Guest.dart'; import 'package:bowl_in/model/IManager.dart'; @@ -13,7 +12,11 @@ void testManager(IManager mgr) { List players = [mgr.userCurrent, Guest("Emre")]; 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); diff --git a/Sources/bowlin_project/test/play_test.dart b/Sources/bowlin_project/test/play_test.dart index f00f484..4ecbc1e 100644 --- a/Sources/bowlin_project/test/play_test.dart +++ b/Sources/bowlin_project/test/play_test.dart @@ -16,8 +16,6 @@ void main() { -1, DateTime.now(), null, - 0, - false, mgr.userCurrent.id, listPlayers); mgr.gamePlayer.game = gd; @@ -44,12 +42,12 @@ void main() { final IManager mgr = StubData(); final List listPlayers = [mgr.userCurrent, Guest("Lucas")]; + final DateTime dateGame = DateTime.now(); + final GameDetail gd = GameDetail( -1, - DateTime.now(), + dateGame, null, - 0, - false, mgr.userCurrent.id, listPlayers); mgr.gamePlayer.game = gd; @@ -123,6 +121,9 @@ void main() { expect(mgr.userCurrent.games.length, 1); 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); }); diff --git a/Sources/bowlin_project/test/round_test.dart b/Sources/bowlin_project/test/round_test.dart index 6d5abc6..ca46b52 100644 --- a/Sources/bowlin_project/test/round_test.dart +++ b/Sources/bowlin_project/test/round_test.dart @@ -7,7 +7,7 @@ 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()); + 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); expect(r.getMaxPinsThisShot(), 10); @@ -40,7 +40,7 @@ void main() { }); 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); expect(r.getMaxPinsThisShot(), 10);