From bc8ca19e076171e178b705a1d7b9eacd0d77102e Mon Sep 17 00:00:00 2001 From: Emre Date: Wed, 1 Mar 2023 22:29:46 +0100 Subject: [PATCH] Realization of tests for all the user part --- Sources/bowlin_project/lib/model/Guest.dart | 1 + Sources/bowlin_project/lib/model/Player.dart | 4 +- Sources/bowlin_project/lib/model/User.dart | 8 +- Sources/bowlin_project/test/model_test.dart | 83 ++++++++++++++++++++ 4 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 Sources/bowlin_project/test/model_test.dart diff --git a/Sources/bowlin_project/lib/model/Guest.dart b/Sources/bowlin_project/lib/model/Guest.dart index a531185..848b3f7 100644 --- a/Sources/bowlin_project/lib/model/Guest.dart +++ b/Sources/bowlin_project/lib/model/Guest.dart @@ -1,5 +1,6 @@ import 'package:uuid/uuid.dart'; import 'package:uuid/uuid_util.dart'; +import 'Player.dart'; class Guest extends Player { // Constructor diff --git a/Sources/bowlin_project/lib/model/Player.dart b/Sources/bowlin_project/lib/model/Player.dart index 4e4ac7d..7a60d1b 100644 --- a/Sources/bowlin_project/lib/model/Player.dart +++ b/Sources/bowlin_project/lib/model/Player.dart @@ -2,11 +2,11 @@ import 'package:uuid/uuid.dart'; class Player { final Uuid _id; - String _image; String _name; + String _image; // Constructor - Player(this._id, this._image, this._name); + Player(this._id, this._name, this._image); // Getters and setters Uuid get id => _id; diff --git a/Sources/bowlin_project/lib/model/User.dart b/Sources/bowlin_project/lib/model/User.dart index 2184225..b4e8c84 100644 --- a/Sources/bowlin_project/lib/model/User.dart +++ b/Sources/bowlin_project/lib/model/User.dart @@ -5,13 +5,13 @@ import 'Stat.dart'; class User extends Player { String _mail; - List _stats = []; - List _friends = []; List _achievements = []; + List _friends = []; + List _stats = []; // Constructor - User(Uuid id, String image, String name, this._achievements, this._friends, this._stats) - : super(id, image, name); + User(Uuid id, String name, String image, this._mail, this._achievements, this._friends, this._stats) + : super(id, name, image); // Getters and setters String get mail => _mail; diff --git a/Sources/bowlin_project/test/model_test.dart b/Sources/bowlin_project/test/model_test.dart new file mode 100644 index 0000000..077a02b --- /dev/null +++ b/Sources/bowlin_project/test/model_test.dart @@ -0,0 +1,83 @@ +import '../lib/model/Player.dart'; +import '../lib/model/Guest.dart'; +import '../lib/model/User.dart'; +import '../lib/model/Stat.dart'; +import 'dart:math'; +import '../lib/model/Achievement.dart'; +import 'package:uuid/uuid.dart'; + +void main() { + List stats = []; + Random random = new Random(); + + for (int i = 0; i < 10; i++) { + Stat stat = new Stat( + random.nextInt(50) + 1, // valeur aléatoire entre 1 et 50 + random.nextInt(20) + 1, // valeur aléatoire entre 1 et 20 + random.nextInt(30) + 1, // valeur aléatoire entre 1 et 30 + random.nextInt(1000) + 1, // valeur aléatoire entre 1 et 1000 + random.nextInt(10) + 1, // valeur aléatoire entre 1 et 10 + random.nextInt(5) + 1, // valeur aléatoire entre 1 et 5 + random.nextInt(5000) + 1000, // valeur aléatoire entre 1000 et 6000 + random.nextInt(300) + 1, // valeur aléatoire entre 1 et 300 + random.nextDouble() * 10 // valeur aléatoire entre 0 et 10 + ); + stats.add(stat); + } + + User ami = new User(Uuid(), "Lucas","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY","Lucas.delanier@etu.uca.fr",[],[],[]); + + List players = [ + new Player(Uuid(), "Rami", "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), + new Player(Uuid(), "Emre", "https://fastly.picsum.photos/id/670/2000/2000.jpg?hmac=zWqTr_vDEab3dBtp7JZgJP8TRCPNanJ4tYwDDd-jGYA"), + new Guest(Uuid(), "Bot1","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4"), + new Guest(Uuid(), "Bot2","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"), + ami, + new User( + Uuid(), + "Louison", + "https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc", + "louison.parant@etu.uca.fr", + [ + new Achievement("5 games"), + new Achievement("2 strikes in a row"), + new Achievement("Win a game") + ], + [ + ami + ], + stats + ) + ]; + + + print("Players :"); + // afficahge de toutes les informations de tous les joueurs + for (var player in players) { + if (player is Guest) { + print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Guest"); + } else if (player is User) { + print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: User"); + print("\tAchievements:"); + for (var achievement in player.achievements) { + print("\t\tNom: ${achievement.name}"); + } + print("\tStats:"); + for (var stat in player.stats) { + print("\t\tVictoires: ${stat.nbVictory}, Défaites: ${stat.nbDefeat}, Parties jouées: ${stat.nbGames}, Meilleur score: ${stat.highscore}, Nombre de strikes: ${stat.nbStrikes}, Nom de spares: ${stat.nbStrikes}, Moyenne score: ${stat.avgScore}, Moyenne score par round: ${stat.avgPinsPerRound}"); + } + print("\tAmis:"); + for (var amis in player.friends) { + print("\t\tNom: ${amis.name}, Mail: ${amis.mail}"); + } + + } else { + print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Player"); + } + } + + + print("GameDetail :"); + + +}