diff --git a/Sources/AppConsole/Program.cs b/Sources/AppConsole/Program.cs index d71309f..8dc2a64 100644 --- a/Sources/AppConsole/Program.cs +++ b/Sources/AppConsole/Program.cs @@ -32,12 +32,18 @@ namespace AppConsole AfficherUsers(); Console.WriteLine("-----AJOUTER UN COMMENTAIRE SUR UN JEU-----"); - Console.WriteLine("jeu = GTA V, auteur = Moi, message = Ce jeu est vraiment très bien !, note = 1.3"); + Console.WriteLine("jeu = GTA V, auteur = Moi, message = Ce jeu est vraiment très bien !, note = 4.3"); Manager.GameList[3].AddReview(new("Moi", 1.3f, "Ce jeu est vraiment très bien !")); Console.WriteLine(Manager.GameList[3]); + Console.WriteLine("-----MODIFIER UN COMMENTAIRE-----"); + Console.WriteLine("jeu = GTA V, auteur = Moi, message = Ce jeu est vraiment très bien !, note = 4.3"); + Console.WriteLine("message = Ce jeu est vraiment très bien !, note = 4.3 => message = Ce jeu est vraiment pas bien !, note = 1.7"); + Manager.GameList[3].Reviews[3].EditReview("Ce jeu est vraiment pas bien !"); + Manager.GameList[3].Reviews[3].EditRate(1.7f); + Console.WriteLine("-----SUPPRIMER UN COMMENTAIRE SUR UN JEU-----"); - Console.WriteLine("jeu = GTA V, auteur = Moi, message = Ce jeu est vraiment très bien !, note = 1.3"); + Console.WriteLine("jeu = GTA V, auteur = Moi, message = Ce jeu est vraiment pas bien ! (modifié), note = 1.7"); user.RemoveSelfReview(Manager.GameList[3], 1.3f, "Ce jeu est vraiment très bien !"); Console.WriteLine(Manager.GameList[3]); @@ -50,7 +56,6 @@ namespace AppConsole Console.WriteLine("jeux = Elden ring"); user.RemoveAGame(Manager.GameList[0]); Console.WriteLine(user); - } private static void AfficherJeux() diff --git a/Sources/TestProject1/TestGame.cs b/Sources/TestProject1/TestGame.cs index c3b20b1..2ae7ab4 100644 --- a/Sources/TestProject1/TestGame.cs +++ b/Sources/TestProject1/TestGame.cs @@ -4,166 +4,142 @@ namespace Test { public class TestGame { - [Fact] - public void Constructor() + public static IEnumerable GameData + => new List + { + new object[] {new Game("game", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game(null, "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("game", "", 2012, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("game", null, 2012, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("game", "description", 1111, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("game", "description", 9999, new List { "1", "2", "3" }, "cover", "www.link.com") }, + new object[] {new Game("game", "description", 9999, null, "cover", "www.link.com") }, + new object[] {new Game("game", "description", 2012, new List { "1", "2" }, "cover", "www.link.com") }, + new object[] {new Game("game", "description", 2012, new List { "1", "2", "3" }, "", "www.link.com") }, + new object[] {new Game("game", "description", 2012, new List { "1", "2", "3" }, null, "www.link.com") }, + new object[] {new Game("game", "description", 2012, new List { "1", "2", "3" }, "cover", "") }, + new object[] {new Game("game", "description", 2012, new List { "1", "2", "3" }, "cover", null) } + }; + public static IEnumerable GameDataUser => + new List + { + new object[]{GameData.ToList()[0], } + }; + + [Theory] + [MemberData(nameof(GameData))] + public void Constructor(Game game) { - - Game game = new("game", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); Assert.NotNull(game); } - [Fact] - public void Name() + [Theory] + [MemberData(nameof(GameData))] + public void Name(Game game) { - - Game game = new("", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.False(game.Name == ""); - - Game game2 = new(null, "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.True(game2.Name == "Default"); - - Game game3 = new("good", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.Equal("good", game3.Name); + Assert.NotNull(game.Name); + Assert.NotEqual("", game.Name); } - [Fact] - public void Cover() + + [Theory] + [MemberData(nameof(GameData))] + public void Cover(Game game) { - Game game = new("game", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com"); - string coverofgame= game.Cover; - Assert.True(coverofgame == game.Cover); + Assert.NotNull(game.Cover); + Assert.NotEqual("", game.Cover); } - [Fact] - public void Description() - { - - Game game = new("name", "", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.False(game.Description == ""); - Game game2 = new("name", null, 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.True(game2.Description=="Pas de description"); - - Game game3 = new("name", "good", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.Equal("good", game3.Description); - } - - [Fact] - public void Year() + [Theory] + [MemberData(nameof(GameData))] + public void Description(Game game) { + Assert.NotNull(game.Description); + Assert.NotEqual("", game.Description); + } - Game game = new("name", "description", 1111, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.Equal(2023, game.Year); - - Game game2 = new("name", "description", 9999, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.Equal(2023, game2.Year); - - Game game3 = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - Assert.Equal(2012, game3.Year); + [Theory] + [MemberData(nameof(GameData))] + public void Year(Game game) + { + Assert.True(game.Year >= 1970); + Assert.True(game.Year <= 2023); } - [Fact] - public void Tags() + [Theory] + [MemberData(nameof(GameData))] + public void Tags(Game game) { - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); Assert.NotNull(game.Tags); - Assert.Equal(new List { "1", "2", "3" }, game.Tags); - - Game game2 = new("name", "description", 2012, null, "cover", "www.link.com"); - Assert.NotNull(game2.Tags); - Assert.Empty(game2.Tags); - - Game game3 = new("name", "description", 2012, new List {"1","2"}, "cover", "www.link.com"); - Assert.NotNull(game3.Tags); - Assert.Equal(2,game3.Tags.Count); } - [Fact] - public void Lien() + [Theory] + [MemberData(nameof(GameData))] + public void Lien(Game game) { - Game game = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com"); Assert.NotNull(game.Lien); - Game game2 = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", null); - Assert.Equal("Pas de lien", game2.Lien); - Game game3 = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", ""); - Assert.Equal("Pas de lien", game3.Lien); + Assert.NotEqual("", game.Lien); } - [Fact] - public void AddReview() + [Theory] + [MemberData(nameof(GameData))] + public void AddReview(Game game) { - User user = new(null,"username", "biographie", "email@email.com", "Azerty123*"); - - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - + var user = new User(null, "username", "biographie", "email@email.com", "Azerty123*"); user.AddReview(game, 2.5f, "bof"); - user.AddReview(game, 4f, "bof++"); - user.AddReview(game, 3f, "bof+"); - Assert.NotEmpty(game.Reviews); } - [Fact] - public void RemoveReview() + [Theory] + [MemberData(nameof(GameData))] + public void RemoveReview(Game game) { - User user = new(null,"username", "biographie", "email@email.com", "Azerty123*"); - User user2 = new(null,"username2", "biographie", "email2@email.com", "Azerty123*"); - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); - + var user = new User(null, "username", "biographie", "email@email.com", "Azerty123*"); 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); + Assert.Empty(game.Reviews); } - [Fact] - public void ChangeName() + [Theory] + [MemberData(nameof(GameData))] + public void ChangeName(Game game) { - - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); game.NameChange("newName"); - Assert.Equal("newName", game.Name); } - [Fact] - public void ChangeDescription() + [Theory] + [MemberData(nameof(GameData))] + public void ChangeDescription(Game game) { - - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); game.DescChange("newDesc"); - Assert.Equal("newDesc", game.Description); } - [Fact] - public void ChangeYear() + [Theory] + [MemberData(nameof(GameData))] + public void ChangeYear(Game game) { - - Game game = new("name", "description", 2012, new List {"1","2","3"}, "cover", "www.link.com"); game.YearChange(2020); - Assert.Equal(2020, game.Year); } - [Fact] - public void ChangeTags() + [Theory] + [MemberData(nameof(GameData))] + public void ChangeTags(Game game) { - Game game = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com"); - game.NameChange("newName"); game.TagChange(new List { "1", "2" }); Assert.Equal(2, game.Tags.Count); game.TagChange(null); Assert.Equal(2, game.Tags.Count); - game.TagChange(new List { "1", "2","3","4" }); + game.TagChange(new List { "1", "2", "3", "4" }); Assert.Equal(2, game.Tags.Count); } - [Fact] - public void Hash() + [Theory] + [MemberData(nameof(GameData))] + public void Hash(Game game) { - Game game = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com"); Assert.Equal(game.Name.GetHashCode(), game.GetHashCode()); } diff --git a/Sources/TestProject1/TestReview.cs b/Sources/TestProject1/TestReview.cs index e95695f..d364e6b 100644 --- a/Sources/TestProject1/TestReview.cs +++ b/Sources/TestProject1/TestReview.cs @@ -4,36 +4,43 @@ namespace Test { public class TestReview { - [Fact] - public void Constructor() + public static IEnumerable ReviewData + => new List + { + new object[] {new Review("User 1", 3, "rev")}, + new object[] {new Review("User 1", -5.8f, "rev")}, + new object[] {new Review("User 2", +5.8f, "rev") } + }; + + [Theory] + [MemberData(nameof(ReviewData))] + public void Constructor(Review rev) { - Review rev = new("User 1", 3, "rev"); Assert.NotNull(rev); } - [Fact] - public void Rate() + [Theory] + [MemberData(nameof(ReviewData))] + public void Rate(Review rev) { - Review rev = new("User 1", -5.8f, "rev"); - Review rev2 = new("User 2", 5.8f, "rev2"); - Assert.Equal(0, rev.Rate); - Assert.Equal(0, rev2.Rate); + Assert.True(rev.Rate >= 0); + Assert.True(rev.Rate <= 5); } - [Fact] - public void Text() + [Theory] + [MemberData(nameof(ReviewData))] + public void Text(Review rev) { - Review rev = new("User 1", 3, ""); - Review rev2 = new("User 2", 3, null); - Assert.Equal("Default", rev.Text); - Assert.Equal("Default", rev2.Text); + Assert.NotNull(rev.Text); + Assert.NotEqual("", rev.Text); } - [Fact] - public void AuthorName() + [Theory] + [MemberData(nameof(ReviewData))] + public void AuthorName(Review rev) { - Review rev = new("User 1", 3, "text"); Assert.NotNull(rev.AuthorName); + Assert.NotEqual("", rev.AuthorName); } [Fact] diff --git a/Sources/TestProject1/TestUser.cs b/Sources/TestProject1/TestUser.cs index d51edea..44c42be 100644 --- a/Sources/TestProject1/TestUser.cs +++ b/Sources/TestProject1/TestUser.cs @@ -4,67 +4,72 @@ namespace Test { public class TestUser { - [Fact] - public void Constructor() + public static IEnumerable UserData + => new List + { + new object[] {new User(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "", "biographie", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, null, "biographie", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "username", "", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "username", null, "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*") }, + new object[] {new User(null, "username", "biographie", "", "Azerty123*") }, + new object[] {new User(null, "username", "biographie", null, "Azerty123*") }, + new object[] {new User(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*") } + }; + + [Theory] + [MemberData(nameof(UserData))] + public void Constructor(User user) { - User user = new(null,"username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); Assert.NotNull(user); } - [Fact] - public void Username() + [Theory] + [MemberData(nameof(UserData))] + public void Username(User user) { - User user = new(null, "", "biographie", "adresse.mail@gmail.com", "Azerty123*"); - Assert.Equal("Default", user.Username); - - User user2 = new(null, null, "biographie", "adresse.mail@gmail.com", "Azerty123*"); - Assert.Equal("Default",user2.Username); + Assert.NotNull(user.Username); + Assert.NotEqual("", user.Username); } - [Fact] - public void Biographie() + [Theory] + [MemberData(nameof(UserData))] + public void Biographie(User user) { - User user = new(null, "username", "", "adresse.mail@gmail.com", "Azerty123*"); - Assert.Equal("Pas de biographie", user.Biographie); - - User user2 = new(null, "username", null, "adresse.mail@gmail.com", "Azerty123*"); - Assert.Equal("Default", user2.Biographie); - - User user3 = new(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); - - string biographieOfAnUser = user3.Biographie; - Assert.Equal("biographie", biographieOfAnUser); + Assert.NotNull(user.Biographie); + Assert.NotEqual("", user.Biographie); } - [Fact] - public void Email() + [Theory] + [MemberData(nameof(UserData))] + public void Email(User user) { - User user = new(null, "username", "biographie", "", "Azerty123*"); - Assert.Equal("Default", user.Email); - - User user2 = new(null, "username", "biographie", null, "Azerty123*"); - Assert.Equal("Default", user2.Email); + Assert.NotNull(user.Email); + Assert.NotEqual("", user.Email); } [Fact] public void Password() { - Assert.Throws(() => new User (null, "username", "biographie", "adresse.mail@gmail.com", "")); + Assert.Throws(() => new User(null, "username", "biographie", "adresse.mail@gmail.com", "")); Assert.Throws(() => new User(null, "username", "biography", "adresse.mail@gmail.com", null)); - Assert.Throws(() => new User (null, "username", "biographie", "adresse.mail@gmail.com", "54az6e")); + Assert.Throws(() => new User(null, "username", "biographie", "adresse.mail@gmail.com", "54az6e")); User user = new(null, "username", "bio", "adresse.mail@gmail.com", "Azerty123*"); Assert.Equal("Azerty123*", user.Password); } - [Fact] - public void UserImage() + [Theory] + [MemberData(nameof(UserData))] + public void UserImage(User user) { - User user = new("userimage", "username", "bio", "adresse.mail@gmail.com", "Azerty123*"); - Assert.Equal("userimage", user.UserImage); + Assert.NotNull(user.UserImage); + Assert.NotEqual("", user.UserImage); } [Fact] @@ -86,7 +91,7 @@ namespace Test public void ReviewAddingAndRemovingFromAGameViaUser() { User user = new(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); - Game game = new("name", "description", 2012, new List { "1", "2", "3" },"cover", "www.link.com"); + Game game = new("name", "description", 2012, new List { "1", "2", "3" }, "cover", "www.link.com"); Assert.NotNull(user); Assert.NotNull(game); @@ -108,10 +113,11 @@ namespace Test Assert.False(user.Equals(user4 as object)); Assert.False(user.Equals(user2 as object)); } - [Fact] - public void Hashcode() + + [Theory] + [MemberData(nameof(UserData))] + public void Hashcode(User user) { - User user = new("userimage", "username", "biographie", "adresse.mail@gmail.com", "Azerty123*"); Assert.Equal(user.GetHashCode(), user.Username?.GetHashCode()); } }