diff --git a/Sources/Stim.Model/Game.cs b/Sources/Stim.Model/Game.cs index 913de63..85b21c7 100644 --- a/Sources/Stim.Model/Game.cs +++ b/Sources/Stim.Model/Game.cs @@ -9,7 +9,7 @@ namespace Model public class Game : INotifyPropertyChanged { [DataMember] - public string? Name + public string Name { get => name; private set @@ -18,10 +18,10 @@ namespace Model name = value; } } - private string? name; + private string name; [DataMember] - public string? Description + public string Description { get => description; private set @@ -30,7 +30,7 @@ namespace Model description = value; } } - private string? description; + private string description; [DataMember] public int Year @@ -45,7 +45,7 @@ namespace Model private int year; [DataMember] - public string? Cover + public string Cover { get => cover; set @@ -54,7 +54,7 @@ namespace Model cover = value; } } - private string? cover; + private string cover; [DataMember] public ObservableCollection Tags @@ -76,6 +76,10 @@ namespace Model public Game() { + Name = "Default"; + Description = "Default"; + Cover = "Default"; + Year = 2023; tags = new ObservableCollection(); Reviews = new List(); Average = 0; @@ -83,12 +87,17 @@ namespace Model public Game(string name, string description, int year, List c_tags, string cover) { - Name = name; - Description = description; + if (name is null) Name = "Default"; + else Name= name; + if (description is null) Description = "Default"; + else Description = description; Year = year; if (c_tags != null) tags = new ObservableCollection(c_tags); else tags = new ObservableCollection(); - Cover = cover; + if (cover is null) + Cover = "Default"; + else + Cover = cover; Reviews = new List(); Average = 0; } diff --git a/Sources/Stim.Model/User.cs b/Sources/Stim.Model/User.cs index 49980b5..44a97c4 100644 --- a/Sources/Stim.Model/User.cs +++ b/Sources/Stim.Model/User.cs @@ -66,6 +66,7 @@ namespace Model Email = email; Password = password; Followed_Games = new List(); + Role = 0; } public void AddReview(Game game, float rate, string text) { @@ -73,9 +74,13 @@ namespace Model } public void RemoveSelfReview(Game game, float rate, string text) { - foreach (Review review in game.Reviews) + for (int i = game.Reviews.Count - 1; i >= 0; i--) { - if (review.Rate == rate && review.Text == text && review.AuthorName == Username) game.RemoveReview(review); + Review review = game.Reviews[i]; + if (review.Rate == rate && review.Text == text && review.AuthorName == username) + { + game.RemoveReview(review); + } } } public void FollowAGame(Game game) diff --git a/Sources/TestProject1/TestGame.cs b/Sources/TestProject1/TestGame.cs index 084d483..03231d7 100644 --- a/Sources/TestProject1/TestGame.cs +++ b/Sources/TestProject1/TestGame.cs @@ -19,24 +19,30 @@ namespace Test { Game game = new("", "description", 2012, new List {"1","2","3"}, "cover"); - Assert.Null(game.Name); + Assert.True(game.Name == ""); Game game2 = new(null, "description", 2012, new List {"1","2","3"}, "cover"); - Assert.Null(game2.Name); + Assert.True(game2.Name == "Default"); Game game3 = new("good", "description", 2012, new List {"1","2","3"}, "cover"); Assert.Equal("good", game3.Name); } - + [Fact] + public void Cover() + { + Game game = new("game", "description", 2012, new List { "1", "2", "3" }, "cover"); + string coverofgame= game.Cover; + Assert.True(coverofgame == game.Cover); + } [Fact] public void Description() { Game game = new("name", "", 2012, new List {"1","2","3"}, "cover"); - Assert.Null(game.Description); + Assert.True(game.Description == ""); Game game2 = new("name", null, 2012, new List {"1","2","3"}, "cover"); - Assert.Null(game2.Description); + Assert.True(game2.Description=="Default"); Game game3 = new("name", "good", 2012, new List {"1","2","3"}, "cover"); Assert.Equal("good", game3.Description); @@ -75,13 +81,13 @@ namespace Test [Fact] public void AddReview() { - Review r1 = new("User 1", 2.5f, "cool"), r2 = new("User 2", 4, "tres cool"), r3 = new("User 3", 1, "pas cool"); + User user = new("username", "biographie", "email@email.com", "password"); Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover"); - game.AddReview(r1); - game.AddReview(r2); - game.AddReview(r3); + user.AddReview(game, 2.5f, "bof"); + user.AddReview(game, 4f, "bof++"); + user.AddReview(game, 3f, "bof+"); Assert.NotEmpty(game.Reviews); } @@ -89,16 +95,17 @@ namespace Test [Fact] public void RemoveReview() { - Review r1 = new("User 1", 2.5f, "cool"), r2 = new("User 2", 4, "tres cool"), r3 = new("User 3", 1, "pas cool"); - + User user = new("username", "biographie", "email@email.com", "password"); + User user2 = new("username2", "biographie", "email2@email.com", "password"); Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover"); - game.AddReview(r1); - game.AddReview(r2); - game.AddReview(r3); - game.RemoveReview(r2); - - Assert.DoesNotContain(r2, game.Reviews); + user.AddReview(game, 2.5f, "bof"); + user.AddReview(game, 4f, "bof++"); + user.AddReview(game, 3f, "bof+"); + user2.RemoveSelfReview(game, 2.5f, "bof"); + Assert.Equal(3, game.Reviews.Count); + user.RemoveSelfReview(game, 2.5f, "bof"); + Assert.Equal(2, game.Reviews.Count); } [Fact] @@ -138,18 +145,20 @@ namespace Test game.NameChange("newName"); game.TagChange(new List { "1", "2" }); Assert.Equal(3, game.Tags.Count); + game.TagChange(null); + Assert.Equal(3, game.Tags.Count); } [Fact] public void Average() { - Review r1 = new("User 1", 2.5f, "cool"), r2 = new("User 2", 4, "tres cool"), r3 = new("User 3", 1, "pas cool"); + User user = new("username", "biographie", "email@email.com", "password"); Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover"); - game.AddReview(r1); - game.AddReview(r2); - game.AddReview(r3); + user.AddReview(game, 2.5f, "bof"); + user.AddReview(game, 0f, "bof--"); + user.AddReview(game, 5f, "bof++"); Assert.Equal(2.5f, game.GetAvgRate()); } diff --git a/Sources/TestProject1/TestUser.cs b/Sources/TestProject1/TestUser.cs index 1e74f1d..9a9db7c 100644 --- a/Sources/TestProject1/TestUser.cs +++ b/Sources/TestProject1/TestUser.cs @@ -29,6 +29,11 @@ namespace Test User user2 = new("username", null, "adresse.mail@gmail.com", "Azerty123*"); Assert.Null(user2.Biographie); + + User user3 = new("username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); + + string biographieOfAnUser = user3.Biographie; + Assert.NotNull(biographieOfAnUser); } [Fact] @@ -68,21 +73,31 @@ namespace Test user.RemoveAGame(game); Assert.Empty(user.Followed_Games); } + [Fact] + public void Role() + { + User user = new("username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); + Assert.Equal(0,user.Role); + + int Perm = user.Role; + Assert.True(user.Role == Perm); + } - //[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); + [Fact] + public void ReviewAddingAndRemovingFromAGameViaUser() + { + User user = new("username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); + Game game = new("name", "description", 2012, new List { "1", "2", "3" },"cover"); + 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); - //} + user.RemoveSelfReview(game, 2.5f, "UwU"); + Assert.Empty(game.Reviews); + } + } }