From 4cc5682e53a40296ca5dcbb19e6182790031b5bf Mon Sep 17 00:00:00 2001 From: juanmato Date: Tue, 26 Nov 2024 15:53:12 -0300 Subject: [PATCH] GamelistTests --- .../DomainClassesTests/GameListTests.cs | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/test/LibraryTests/DomainClassesTests/GameListTests.cs b/test/LibraryTests/DomainClassesTests/GameListTests.cs index e69de29..40cf135 100644 --- a/test/LibraryTests/DomainClassesTests/GameListTests.cs +++ b/test/LibraryTests/DomainClassesTests/GameListTests.cs @@ -0,0 +1,114 @@ +namespace ClassLibrary.Tests +{ + using NUnit.Framework; + + [TestFixture] + public class GameListTests + { + private GameList gameList; + private Player player1; + private Player player2; + + [SetUp] + public void Setup() + { + gameList = new GameList(); + player1 = new Player("Sebastian"); + player2 = new Player("Juan"); + } + + [Test] + public void AddGame_ShouldAddGameToList() + { + // Act + var game = gameList.AddGame(player1, player2); + + // Assert + Assert.That(gameList.Games, Has.Member(game)); + Assert.That(gameList.Games.Count, Is.EqualTo(1)); + } + + [Test] + public void AddGame_SamePlayer_ShouldThrowException() + { + // Arrange + var samePlayer = new Player("Sebastian"); + + // Act & Assert + var ex = Assert.Throws(() => gameList.AddGame(player1, samePlayer)); + Assert.That(ex.Message, Is.EqualTo("El jugador no puede jugar consigo mismo")); + } + + [Test] + public void FindPlayerByDisplayName_ShouldReturnPlayer() + { + // Arrange + gameList.AddGame(player1, player2); + + // Act + var foundPlayer = gameList.FindPlayerByDisplayName("Sebastian"); + + // Assert + Assert.That(foundPlayer, Is.Not.Null); + Assert.That(foundPlayer.DisplayName, Is.EqualTo(player1.DisplayName)); + } + + [Test] + public void FindPlayerByDisplayName_PlayerNotInGame_ShouldReturnNull() + { + // Act + var foundPlayer = gameList.FindPlayerByDisplayName("Desconocido"); + + // Assert + Assert.That(foundPlayer, Is.Null); + } + + [Test] + public void FindOpponentOfDisplayName_ShouldReturnOpponent() + { + // Arrange + gameList.AddGame(player1, player2); + + // Act + var opponent = gameList.FindOpponentOfDisplayName("Sebastian"); + + // Assert + Assert.That(opponent, Is.Not.Null); + Assert.That(opponent.DisplayName, Is.EqualTo(player2.DisplayName)); + } + + [Test] + public void FindOpponentOfDisplayName_PlayerNotInGame_ShouldReturnNull() + { + // Act + var opponent = gameList.FindOpponentOfDisplayName("Desconocido"); + + // Assert + Assert.That(opponent, Is.Null); + } + + [Test] + public void FindGameByPlayerDisplayName_ShouldReturnGame() + { + // Arrange + var game = gameList.AddGame(player1, player2); + + // Act + var foundGame = gameList.FindGameByPlayerDisplayName("Sebastian"); + + // Assert + Assert.That(foundGame, Is.Not.Null); + Assert.That(foundGame, Is.EqualTo(game)); + } + + [Test] + public void FindGameByPlayerDisplayName_PlayerNotInAnyGame_ShouldReturnNull() + { + // Act + var foundGame = gameList.FindGameByPlayerDisplayName("Desconocido"); + + // Assert + Assert.That(foundGame, Is.Null); + } + } +}