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';
class Game {
int _id;
DateTime _date;
int _pointsCurrentUser;
bool _isFinished;
List<Player> _players = [];
final int _id;
final DateTime _date;
final int _pointsCurrentUser;
final List<Player> _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<Player> get players => _players;
set playersId(List<Player> value) {
_players = value;
}
}

@ -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<AbstractRound> _rounds = [];
List<Player> _players = [];
final int _host;
final List<AbstractRound> _rounds = [];
final List<Player> _players;
final Map<Player, int> _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<AbstractRound> get rounds => _rounds;
set rounds(List<AbstractRound> value) {
_rounds = value;
}
List<Player> get players => _players;
set players(List<Player> value) {
_players = value;
}
Map<Player, int> 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);
}
}

@ -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<GameDetail> _gameDetails = [];

@ -8,12 +8,12 @@ class User extends Player {
String _mail;
List<Achievement> _achievements = <Achievement>[];
List<User> _friends = <User>[];
Stat _stat;
final Stat _stat = Stat.empty();
List<Game> 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;
}
}

@ -50,7 +50,7 @@ class _InGameScreenState extends State<InGameScreen> {
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;

@ -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<Player> 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);

@ -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<Player> 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);
});

@ -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);

Loading…
Cancel
Save