From c0401ff660ebd2b92e6ebcff5743c5bccb8b2e50 Mon Sep 17 00:00:00 2001 From: "Jade.VAN_BRABANDT" Date: Sat, 13 May 2023 12:05:01 +0200 Subject: [PATCH] =?UTF-8?q?Feat=20:=20Des=20tests=20et=20rework=20des=20re?= =?UTF-8?q?views=20mais=20sous=20com=20=C3=A0=20fix.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/Stim.Model/Game.cs | 2 +- Sources/Stim.Model/Review.cs | 3 ++- Sources/Stim.Model/User.cs | 12 +++++++----- Sources/TestProject1/TestUser.cs | 24 ++++++++++++++++++++++-- 4 files changed, 32 insertions(+), 9 deletions(-) diff --git a/Sources/Stim.Model/Game.cs b/Sources/Stim.Model/Game.cs index 9f93015..879f53e 100644 --- a/Sources/Stim.Model/Game.cs +++ b/Sources/Stim.Model/Game.cs @@ -52,7 +52,7 @@ namespace Model } private string[]? tags; - public List Reviews { get; } + public List Reviews { get; private init; } public Game(string name, string description, int year, string[] tags) { diff --git a/Sources/Stim.Model/Review.cs b/Sources/Stim.Model/Review.cs index 94a44c4..ec32a32 100644 --- a/Sources/Stim.Model/Review.cs +++ b/Sources/Stim.Model/Review.cs @@ -43,8 +43,9 @@ namespace Model } private string authorName; - public Review(float rate, string text) + public Review(/*string username,*/ float rate, string text) { + //AuthorName = username; AuthorName = authorName; Rate = rate; Text = text; diff --git a/Sources/Stim.Model/User.cs b/Sources/Stim.Model/User.cs index d32de9f..abf7396 100644 --- a/Sources/Stim.Model/User.cs +++ b/Sources/Stim.Model/User.cs @@ -79,23 +79,25 @@ namespace Model Password = password; Followed_Games = new List(); } - public void AddReview(Game game, Review review) + public void AddReview(Game game, float rate, string text) { - game.AddReview(review); + game.AddReview(new Review(/*username,*/ rate, text)); } - public void RemoveSelfReview(Game game, Review review) + public void RemoveSelfReview(Game game, float rate, string text) { - if (review.AuthorName == username) + foreach (Review review in game.Reviews) { - game.RemoveReview(review); + if (review.Rate == rate && review.Text == text && review.AuthorName == username) game.RemoveReview(review); } } public void FollowAGame(Game game) { + if (Followed_Games.Contains(game)) return; Followed_Games.Add(game); } public void RemoveAGame(Game game) { + if (!Followed_Games.Contains(game)) return; Followed_Games.Remove(game); } } diff --git a/Sources/TestProject1/TestUser.cs b/Sources/TestProject1/TestUser.cs index c867d81..e8ac696 100644 --- a/Sources/TestProject1/TestUser.cs +++ b/Sources/TestProject1/TestUser.cs @@ -26,15 +26,35 @@ namespace Test Assert.Null(user.Username); } [Fact] - public void AddingGameToFollowed() + public void AddingAndAddingGameToFollowed() { User user = new("username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); + Assert.NotNull(user); Assert.Empty(user.Followed_Games); - Game game = new("name", "description", 2012, new string[] {"1","2","3"}); + Game game = new("name", "description", 2012, new string[] { "1", "2", "3" }); Assert.NotNull(game); user.FollowAGame(game); Assert.Single(user.Followed_Games); + user.RemoveAGame(game); + Assert.Empty(user.Followed_Games); + } + /* + [Fact] + public void ReviewAddingAndRemovingFromAGameViaUser() + { + User user = new("username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); + Game game = new("name", "description", 2012, new string[] { "1", "2", "3" }); + Assert.NotNull(user); + Assert.NotNull(game); + + + user.AddReview(game, 2.5f,"UwU"); + Assert.Single(game.Reviews); + + user.RemoveSelfReview(game, 2.5f, "UwU"); + Assert.Empty(game.Reviews); } + */ } }