From f1804432ac625dffbb614e5800beca1f5faeaed4 Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Wed, 29 Mar 2023 19:35:41 +0200 Subject: [PATCH] :hammer: ajout tests --- code/server/DataBase/DataBase.csproj | 1 + code/server/Server.sln | 7 + code/server/TestsDatabase/TestsChat.cs | 150 ++++++++++++++++++ .../server/TestsDatabase/TestsDatabase.csproj | 30 ++++ code/server/TestsDatabase/TestsGame.cs | 150 ++++++++++++++++++ code/server/TestsDatabase/TestsMessage.cs | 143 +++++++++++++++++ code/server/TestsDatabase/TestsPlayer.cs | 134 ++++++++++++++++ code/server/TestsDatabase/Usings.cs | 1 + 8 files changed, 616 insertions(+) create mode 100644 code/server/TestsDatabase/TestsChat.cs create mode 100644 code/server/TestsDatabase/TestsDatabase.csproj create mode 100644 code/server/TestsDatabase/TestsGame.cs create mode 100644 code/server/TestsDatabase/TestsMessage.cs create mode 100644 code/server/TestsDatabase/TestsPlayer.cs create mode 100644 code/server/TestsDatabase/Usings.cs diff --git a/code/server/DataBase/DataBase.csproj b/code/server/DataBase/DataBase.csproj index 28119d3..b4f5f73 100644 --- a/code/server/DataBase/DataBase.csproj +++ b/code/server/DataBase/DataBase.csproj @@ -10,6 +10,7 @@ + diff --git a/code/server/Server.sln b/code/server/Server.sln index 17bf734..cecb84e 100644 --- a/code/server/Server.sln +++ b/code/server/Server.sln @@ -19,6 +19,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientConsole", "ClientCons EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shared", "Shared\Shared.csproj", "{CA1465F2-A006-4AF6-8231-59DB00963BD0}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestsDatabase", "TestsDatabase\TestsDatabase.csproj", "{EDAC56C7-0AC9-465A-A361-63347F435327}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -53,12 +55,17 @@ Global {CA1465F2-A006-4AF6-8231-59DB00963BD0}.Debug|Any CPU.Build.0 = Debug|Any CPU {CA1465F2-A006-4AF6-8231-59DB00963BD0}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA1465F2-A006-4AF6-8231-59DB00963BD0}.Release|Any CPU.Build.0 = Release|Any CPU + {EDAC56C7-0AC9-465A-A361-63347F435327}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EDAC56C7-0AC9-465A-A361-63347F435327}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EDAC56C7-0AC9-465A-A361-63347F435327}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EDAC56C7-0AC9-465A-A361-63347F435327}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {A9DFF203-7F27-44BA-A460-F65C01D0EDFD} = {12A97D16-34BB-4D4F-9F76-D74061A9BA77} + {EDAC56C7-0AC9-465A-A361-63347F435327} = {12A97D16-34BB-4D4F-9F76-D74061A9BA77} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {4BE2DC93-D511-4DA9-9C47-F286E71354BA} diff --git a/code/server/TestsDatabase/TestsChat.cs b/code/server/TestsDatabase/TestsChat.cs new file mode 100644 index 0000000..b5fd84f --- /dev/null +++ b/code/server/TestsDatabase/TestsChat.cs @@ -0,0 +1,150 @@ +using DataBase.Context; +using DataBase.Entity; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TestsDatabase +{ + public class TestsChat + { + [Fact] + public void Add_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Add_Test_Database_Chats") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + context.Players.Add(player); + context.Players.Add(player2); + context.Chats.Add(chat); + context.SaveChanges(); + } + using (var context = new PongDbContext(options)) + { + Assert.Equal(1, context.Chats.Count()); + Assert.Equal(1, context.Chats.First().chatId); + } + + } + [Fact] + public void Modify_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Modify_Test_Database_Chats") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + context.Players.Add(player); + context.Players.Add(player2); + context.Chats.Add(chat); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int chatid = 1; + Assert.Equal(1, context.Chats.Where(n => n.chatId.Equals(chatid)).Count()); + + var elementalist = context.Chats.Where(n => n.chatId.Equals(chatid)).First(); + elementalist.player1 = "Loris1"; + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int chatid = 1; + Assert.Equal(1, context.Chats.Where(n => n.chatId.Equals(chatid)).Count()); + var elementalist = context.Chats.Where(n => n.chatId.Equals(chatid)).First(); + Assert.Equal("Loris1", elementalist.player1); + } + } + + [Fact] + public void Delete_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Delete_Test_Database_Chats") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + context.Players.Add(player); + context.Players.Add(player2); + context.Chats.Add(chat); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int chatid = 1; + Assert.Equal(1, context.Chats.Where(n => n.chatId.Equals(chatid)).Count()); + + context.Chats.Remove(context.Chats.Where(n => n.chatId.Equals(chatid)).First()); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int chatid = 1; + Assert.NotEqual(1, context.Chats.Where(n => n.chatId.Equals(chatid)).Count()); + } + + } + + + [Fact] + public void GetAllChat_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "GetAllSkin_Test_Database_Chats") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + Chat chat2 = new Chat { chatId = 2, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + context.Players.Add(player); + context.Players.Add(player2); + context.Chats.Add(chat); + context.Chats.Add(chat2); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + + var chats = context.Chats.ToList(); + + Assert.Equal(2, chats.Count); + + var classic = chats.FirstOrDefault(c => c.chatId == 1); + Assert.NotNull(classic); + Assert.Equal("Loris12345", classic.player1); + Assert.Equal("Rami12345", classic.player2); + + var elementalist = chats.FirstOrDefault(c => c.chatId == 2); + Assert.NotNull(elementalist); + Assert.Equal("Loris12345", elementalist.player1); + Assert.Equal("Rami12345", elementalist.player2); + } + } + } +} diff --git a/code/server/TestsDatabase/TestsDatabase.csproj b/code/server/TestsDatabase/TestsDatabase.csproj new file mode 100644 index 0000000..f71bd88 --- /dev/null +++ b/code/server/TestsDatabase/TestsDatabase.csproj @@ -0,0 +1,30 @@ + + + + net6.0 + enable + enable + + false + true + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/code/server/TestsDatabase/TestsGame.cs b/code/server/TestsDatabase/TestsGame.cs new file mode 100644 index 0000000..9b13c77 --- /dev/null +++ b/code/server/TestsDatabase/TestsGame.cs @@ -0,0 +1,150 @@ +using DataBase.Context; +using DataBase.Entity; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Text; +using System.Threading.Tasks; + +namespace TestsDatabase +{ + public class TestsGame + { + [Fact] + public void Add_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Add_Test_Database_Games") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player playerRami = new Player { playerId = "Rami12345", name = "The Lady Rami", nbBallTouchTotal = 9, timePlayed = 3 }; + Game game = new Game { gameId = 1, durationGame = 2, nbMaxEchanges = 8, loser = "Loris12345", winner = "Rami12345", scoreLoser = 2, scoreWinner = 6, PlayerLoser = player, PlayerWinner = playerRami }; + context.Players.Add(player); + context.Players.Add(playerRami); + context.Games.Add(game); + context.SaveChanges(); + } + using (var context = new PongDbContext(options)) + { + Assert.Equal(1, context.Games.Count()); + Assert.Equal(1, context.Games.First().gameId); + } + + } + [Fact] + public void Modify_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Modify_Test_Database_Games") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player playerRami = new Player { playerId = "Rami12345", name = "The Lady Rami", nbBallTouchTotal = 9, timePlayed = 3 }; + Game game = new Game { gameId = 1, durationGame = 2, nbMaxEchanges = 8, loser = "Loris12345", winner = "Rami12345", scoreLoser = 2, scoreWinner = 6, PlayerLoser = player, PlayerWinner = playerRami }; + context.Players.Add(player); + context.Players.Add(playerRami); + context.Games.Add(game); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int idPong = 1; + Assert.Equal(1, context.Games.Where(n => n.gameId.Equals(idPong)).Count()); + + var elementalist = context.Games.Where(n => n.gameId.Equals(idPong)).First(); + elementalist.nbMaxEchanges = 6; + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int idPong = 1; + Assert.Equal(1, context.Games.Where(n => n.gameId.Equals(idPong)).Count()); + var elementalist = context.Games.Where(n => n.gameId.Equals(idPong)).First(); + Assert.Equal(6, elementalist.nbMaxEchanges); + } + } + + [Fact] + public void Delete_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Delete_Test_Database_Games") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player playerRami = new Player { playerId = "Rami12345", name = "The Lady Rami", nbBallTouchTotal = 9, timePlayed = 3 }; + Game game = new Game { gameId = 1, durationGame = 2, nbMaxEchanges = 8, loser = "Loris12345", winner = "Rami12345", scoreLoser = 2, scoreWinner = 6, PlayerLoser = player, PlayerWinner = playerRami }; + context.Players.Add(player); + context.Players.Add(playerRami); + context.Games.Add(game); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int idPong = 1; + Assert.Equal(1, context.Games.Where(n => n.gameId.Equals(idPong)).Count()); + + context.Games.Remove(context.Games.Where(n => n.gameId.Equals(idPong)).First()); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int idPong = 1; + Assert.NotEqual(1, context.Games.Where(n => n.gameId.Equals(idPong)).Count()); + } + } + + + [Fact] + public void GetAllGame_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "GetAllSkin_Test_Database_Games") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player playerRami = new Player { playerId = "Rami12345", name = "The Lady Rami", nbBallTouchTotal = 9, timePlayed = 3 }; + Game game = new Game { gameId = 1, durationGame = 2, nbMaxEchanges = 8, loser = "Loris12345", winner = "Rami12345", scoreLoser = 2, scoreWinner = 6, PlayerLoser = player, PlayerWinner = playerRami }; + Game game2 = new Game { gameId = 2, durationGame = 2, nbMaxEchanges = 8, loser = "Loris12345", winner = "Rami12345", scoreLoser = 2, scoreWinner = 6, PlayerLoser = player, PlayerWinner = playerRami }; + context.Players.Add(player); + context.Players.Add(playerRami); + context.Games.Add(game); + context.Games.Add(game2); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + + var games = context.Games.ToList(); + + Assert.Equal(2, games.Count); + + var classic = games.FirstOrDefault(c => c.gameId == 1); + Assert.NotNull(classic); + Assert.Equal(2, classic.durationGame); + Assert.Equal(2, classic.scoreLoser); + + var elementalist = games.FirstOrDefault(c => c.gameId == 2); + Assert.NotNull(elementalist); + Assert.Equal(2, elementalist.durationGame); + Assert.Equal(2, elementalist.scoreLoser); + } + } + } +} diff --git a/code/server/TestsDatabase/TestsMessage.cs b/code/server/TestsDatabase/TestsMessage.cs new file mode 100644 index 0000000..4f4e171 --- /dev/null +++ b/code/server/TestsDatabase/TestsMessage.cs @@ -0,0 +1,143 @@ +using DataBase.Context; +using DataBase.Entity; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TestsDatabase +{ + public class TestsMessage + { + [Fact] + public void Add_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Add_Test_Database_Messages") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + Message message = new Message { messageId = 1, ChatId = chat, message = "message", chat = 1, player = "Loris12345", PlayerId = player, timestamp = new DateTime(2023, 3, 10, 14, 30, 0, DateTimeKind.Utc) }; + + context.Messages.Add(message); + context.SaveChanges(); + } + using (var context = new PongDbContext(options)) + { + Assert.Equal(1, context.Messages.Count()); + Assert.Equal(1, context.Messages.First().messageId); + } + + } + [Fact] + public void Modify_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Modify_Test_Database_Messages") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + Message message = new Message { messageId = 1, ChatId = chat, message = "message", chat = 1, player = "Loris12345", PlayerId = player, timestamp = new DateTime(2023, 3, 10, 14, 30, 0, DateTimeKind.Utc) }; + + context.Messages.Add(message); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int messageId = 1; + Assert.Equal(1, context.Messages.Where(n => n.messageId.Equals(messageId)).Count()); + + var elementalist = context.Messages.Where(n => n.messageId.Equals(messageId)).First(); + elementalist.message = "Loris1"; + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int messageId = 1; + Assert.Equal(1, context.Messages.Where(n => n.messageId.Equals(messageId)).Count()); + var elementalist = context.Messages.Where(n => n.messageId.Equals(messageId)).First(); + Assert.Equal("Loris1", elementalist.message); + } + } + + [Fact] + public void Delete_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Delete_Test_Database_Messages") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + Message message = new Message { messageId = 1, ChatId = chat, message = "message", chat = 1, player = "Loris12345", PlayerId = player, timestamp = new DateTime(2023, 3, 10, 14, 30, 0, DateTimeKind.Utc) }; + + context.Messages.Add(message); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int messageId = 1; + Assert.Equal(1, context.Messages.Where(n => n.messageId.Equals(messageId)).Count()); + + context.Messages.Remove(context.Messages.Where(n => n.messageId.Equals(messageId)).First()); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + int messageId = 1; + Assert.Equal(0, context.Messages.Where(n => n.messageId.Equals(messageId)).Count()); + } + + } + + + [Fact] + public void GetAllMessage_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "GetAllSkin_Test_Database_Messages") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Rami12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Chat chat = new Chat { chatId = 1, player1 = "Loris12345", player2 = "Rami12345", PlayerId1 = player, PlayerId2 = player2 }; + Message message = new Message { messageId = 1, ChatId = chat, message = "message", chat = 1, player = "Loris12345", PlayerId = player, timestamp = new DateTime(2023, 3, 10, 14, 30, 0, DateTimeKind.Utc) }; + + context.Messages.Add(message); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + + var messages = context.Messages.ToList(); + + Assert.Equal(1, messages.Count); + + var classic = messages.FirstOrDefault(c => c.messageId == 1); + Assert.NotNull(classic); + Assert.Equal("Loris12345", classic.player); + Assert.Equal("message", classic.message); + } + } + } +} diff --git a/code/server/TestsDatabase/TestsPlayer.cs b/code/server/TestsDatabase/TestsPlayer.cs new file mode 100644 index 0000000..27cc1b1 --- /dev/null +++ b/code/server/TestsDatabase/TestsPlayer.cs @@ -0,0 +1,134 @@ +using DataBase.Context; +using DataBase.Entity; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TestsDatabase +{ + public class TestsPlayer + { + [Fact] + public void Add_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Add_Test_Database_Players") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + context.Players.Add(player); + context.SaveChanges(); + } + using (var context = new PongDbContext(options)) + { + Assert.Equal(1, context.Players.Count()); + Assert.Equal("The Lady", context.Players.First().name); + } + + } + [Fact] + public void Modify_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Modify_Test_Database_Players") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + context.Players.Add(player); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + string nameToFind = "the lady"; + Assert.Equal(1, context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).Count()); + + var elementalist = context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).First(); + elementalist.nbBallTouchTotal = 8; + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + string nameToFind = "the lady"; + Assert.Equal(1, context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).Count()); + var elementalist = context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).First(); + Assert.Equal(8, elementalist.nbBallTouchTotal); + } + } + + [Fact] + public void Delete_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "Delete_Test_Database_Players") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + context.Players.Add(player); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + string nameToFind = "the lady"; + Assert.Equal(1, context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).Count()); + + context.Players.Remove(context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).First()); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + string nameToFind = "the lady"; + Assert.NotEqual(1, context.Players.Where(n => n.name.ToLower().Contains(nameToFind)).Count()); + } + + } + + + [Fact] + public void GetAllPlayer_Test() + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: "GetAllSkin_Test_Database_Players") + .Options; + + using (var context = new PongDbContext(options)) + { + Player player = new Player { playerId = "Loris12345", name = "The Lady", nbBallTouchTotal = 8, timePlayed = 2 }; + Player player2 = new Player { playerId = "Noan12345", name = "The Lady Noan", nbBallTouchTotal = 9, timePlayed = 5 }; + context.Players.Add(player); + context.Players.Add(player2); + context.SaveChanges(); + } + + using (var context = new PongDbContext(options)) + { + + var players = context.Players.ToList(); + + Assert.Equal(2, players.Count); + + var classic = players.FirstOrDefault(c => c.name == "The Lady Noan"); + Assert.NotNull(classic); + Assert.Equal(9, classic.nbBallTouchTotal); + Assert.Equal(5, classic.timePlayed); + + var elementalist = players.FirstOrDefault(c => c.name == "The Lady"); + Assert.NotNull(elementalist); + Assert.Equal(8, elementalist.nbBallTouchTotal); + Assert.Equal(2, elementalist.timePlayed); + } + } + } +} diff --git a/code/server/TestsDatabase/Usings.cs b/code/server/TestsDatabase/Usings.cs new file mode 100644 index 0000000..8c927eb --- /dev/null +++ b/code/server/TestsDatabase/Usings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file