From f57eeb6b0c3be09a3e5bad9318c3b1db3c1bcf25 Mon Sep 17 00:00:00 2001 From: "jeremy.mouyon" Date: Sat, 4 May 2024 09:54:55 +0200 Subject: [PATCH] test --- Qwirkle/QwirkleClassLibrary/TileBag.cs | 16 +++++++- .../TestBase/{UnitTest1.cs => TestPlayer.cs} | 0 Qwirkle/TestBase/TestTileBag.cs | 39 +++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) rename Qwirkle/TestBase/{UnitTest1.cs => TestPlayer.cs} (100%) create mode 100644 Qwirkle/TestBase/TestTileBag.cs diff --git a/Qwirkle/QwirkleClassLibrary/TileBag.cs b/Qwirkle/QwirkleClassLibrary/TileBag.cs index d7b7e11..9b16b4b 100644 --- a/Qwirkle/QwirkleClassLibrary/TileBag.cs +++ b/Qwirkle/QwirkleClassLibrary/TileBag.cs @@ -14,6 +14,11 @@ namespace QwirkleClassLibrary public TileBag(int nbSet) { + if (nbSet < 0 || nbSet < 3) + { + throw new ArgumentException(nbSet.ToString()); + } + for (int i = 0; i < nbSet; i++) { foreach (Shape s in Enum.GetValues(typeof(Shape))) @@ -28,20 +33,27 @@ namespace QwirkleClassLibrary TilesBag = tiles.AsReadOnly(); } - public void AddTileInBag(Tile tile) + public bool AddTileInBag(Tile tile) { + if (tiles == null) + { + return false; + } tiles.Add(tile); + return true; } - public void RemoveTileInBag(Tile tile) + public bool RemoveTileInBag(Tile tile) { for (int i = 0; i < tiles.Count; i++) { if (tiles[i] == tile) { tiles.RemoveAt(i); + return true; } } + return false; } } } \ No newline at end of file diff --git a/Qwirkle/TestBase/UnitTest1.cs b/Qwirkle/TestBase/TestPlayer.cs similarity index 100% rename from Qwirkle/TestBase/UnitTest1.cs rename to Qwirkle/TestBase/TestPlayer.cs diff --git a/Qwirkle/TestBase/TestTileBag.cs b/Qwirkle/TestBase/TestTileBag.cs new file mode 100644 index 0000000..84a0058 --- /dev/null +++ b/Qwirkle/TestBase/TestTileBag.cs @@ -0,0 +1,39 @@ +using QwirkleClassLibrary; +namespace TestBase; + +public class TestTileBag +{ + [Theory] + [InlineData(false, 5)] + [InlineData(false, -5)] + [InlineData(true, 2)] + + public void Test_TileBagConstructor(bool isValid, int nbset) + { + if (!isValid) + { + Assert.Throws(() => new TileBag(nbset)); + return; + } + TileBag bag = new TileBag(nbset); + Assert.Equal(bag.TilesBag.Count, nbset); + } + + [Fact] + public void Test_AddTileInBag() + { + Tile t = null; + Tile tok = new(Shape.Club, Color.Green); + TileBag bag = new TileBag(2); + + if (bag.AddTileInBag(t) == false) + { + Assert.True(bag.AddTileInBag(tok)); + + } + + } + + +} +