From 678d1f7de582e6a7c47ac94e47e4c60e86622d5b Mon Sep 17 00:00:00 2001 From: "mohammad_zafir.jeeawody" Date: Sat, 1 Oct 2022 23:44:20 +0200 Subject: [PATCH] validation method --- Sources/Model/Dice/DieManager.cs | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/Sources/Model/Dice/DieManager.cs b/Sources/Model/Dice/DieManager.cs index 71654cf..c1a1aae 100644 --- a/Sources/Model/Dice/DieManager.cs +++ b/Sources/Model/Dice/DieManager.cs @@ -12,6 +12,15 @@ namespace Model.Dice public KeyValuePair>> Add(KeyValuePair>> toAdd) { // on trim la clé d'abord + if (toAdd.Key == null) + { + throw new ArgumentNullException(nameof(toAdd), "param should not be null"); + + } + if (diceGroups.Contains(toAdd)) + { + throw new ArgumentException("this username is already taken", nameof(toAdd)); + } diceGroups.Add(toAdd.Key.Trim(), toAdd.Value); return toAdd; } @@ -30,12 +39,28 @@ namespace Model.Dice { // les groupes de dés nommés : // ils sont case-sensistive, mais "mon jeu" == "mon jeu " == " mon jeu" - return new KeyValuePair>>(name, diceGroups[name]); + if (name != null) + { + return new KeyValuePair>>(name, diceGroups[name]); + } + else { + throw new ArgumentNullException(nameof(name), "param should not be null"); + + + } } public void Remove(KeyValuePair>> toRemove) { - diceGroups.Remove(toRemove.Key); + if (toRemove.Key != null) + { + throw new ArgumentNullException(nameof(toRemove), "param should not be null"); } + else + { + diceGroups.Remove(toRemove.Key); + } + + } public KeyValuePair>> Update(KeyValuePair>> before, KeyValuePair>> after)