diff --git a/Sources/Model/Dice/DiceGroupManager.cs b/Sources/Model/Dice/DiceGroupManager.cs
index 785777c..3ed3f21 100644
--- a/Sources/Model/Dice/DiceGroupManager.cs
+++ b/Sources/Model/Dice/DiceGroupManager.cs
@@ -69,8 +69,8 @@ namespace Model.Dice
///
public KeyValuePair> Update(KeyValuePair> before, KeyValuePair> after)
{
- // pas autorisé de changer les dés, juste le nom
- if (!before.Value.Equals(after.Value))
+
+ if (!before.Value.ToList().Equals(after.Value.ToList()))
{
throw new ArgumentException("the group of dice cannot be updated, only the name", nameof(before));
}
diff --git a/Sources/Tests/Data_UTs/Dice/DiceGroupManagerTest.cs b/Sources/Tests/Data_UTs/Dice/DiceGroupManagerTest.cs
index 77329d5..b9ddd0b 100644
--- a/Sources/Tests/Data_UTs/Dice/DiceGroupManagerTest.cs
+++ b/Sources/Tests/Data_UTs/Dice/DiceGroupManagerTest.cs
@@ -142,6 +142,60 @@ namespace Tests.Data_UTs.Dice
Xunit.Assert.Throws(action);
}
+ [Fact]
+ public void TestRemoveWorksIfExists()
+ {
+ // Arrange
+ DiceGroupManager dgm = new();
+ KeyValuePair> toAdd = new("Monopoly", new List { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
+ dgm.Add(toAdd);
+ dgm.Remove(toAdd);
+
+ Xunit.Assert.DoesNotContain(toAdd, dgm.GetAll());
+ }
+
+ [Fact]
+ public void TestRemoveFailsSilentlyIfGivenNonExistent()
+ {
+ DiceGroupManager dgm = new();
+ KeyValuePair> toAdd = new("Monopoly", new List { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
+ dgm.Add(toAdd);
+
+ KeyValuePair> toAdd2 = new("Scrabble", new List { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
+
+ // Act
+ dgm.Remove(toAdd2);
+
+ // Assert
+ Xunit.Assert.DoesNotContain(toAdd2, dgm.GetAll());
+ }
+
+ [Fact]
+ public void TestUpdateWorksIfValid()
+ {
+ // Arrange
+ DiceGroupManager dgm = new();
+ KeyValuePair> toAdd = new("Monopoly", new List { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
+ dgm.Add(toAdd);
+ KeyValuePair> toAdd2 = new("Scrabble", new List { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
+ dgm.Update(toAdd, toAdd2);
+
+ Xunit.Assert.DoesNotContain(toAdd, dgm.GetAll());
+ Xunit.Assert.Contains(toAdd2, dgm.GetAll());
+ Xunit.Assert.True(dgm.GetAll().Count() == 1);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
}