sequence equak issues
continuous-integration/drone/push Build is failing Details

test_dice_group_manager
mzjeeawody 3 years ago
parent 5432a07e9e
commit 1e4f846edb

@ -25,6 +25,21 @@ namespace Model.Dice
return Task.FromResult(toAdd); return Task.FromResult(toAdd);
} }
public Task<DiceGroup> AddCheckName(DiceGroup toAdd)
{
if (string.IsNullOrWhiteSpace(toAdd.Name))
{
throw new ArgumentNullException(nameof(toAdd), "param should not be null or empty");
}
if (diceGroups.Where(d => d.Name.Equals(toAdd.Name)).Any())
{
throw new ArgumentException("this dice group already exists", nameof(toAdd));
}
diceGroups.Add(new(toAdd.Name.Trim(), toAdd.Dice));
return Task.FromResult(toAdd);
}
public Task<ReadOnlyCollection<DiceGroup>> GetAll() public Task<ReadOnlyCollection<DiceGroup>> GetAll()
{ {
return Task.FromResult(new ReadOnlyCollection<DiceGroup>(diceGroups)); return Task.FromResult(new ReadOnlyCollection<DiceGroup>(diceGroups));

@ -77,13 +77,13 @@ namespace Tests.Data_UTs.Dice
{ {
DiceGroupManager dgm = new(); DiceGroupManager dgm = new();
await dgm.Add(new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) })); await dgm.AddCheckName(new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) }));
DiceGroup group1 = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) }); DiceGroup group1 = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
async Task actionAsync() => await dgm.Add(group1); async Task actionAsync() => await dgm.AddCheckName(group1);
// Assert // Assert
await Xunit.Assert.ThrowsAsync<Exception>(actionAsync); await Xunit.Assert.ThrowsAsync<ArgumentException>(actionAsync);
} }
@ -112,7 +112,7 @@ namespace Tests.Data_UTs.Dice
DiceGroup toAdd = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) }); DiceGroup toAdd = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
await dgm.Add(toAdd); await dgm.Add(toAdd);
async Task action() => dgm.GetOneByName(name); async Task action() => await dgm.GetOneByName(name);
// Assert // Assert
await Xunit.Assert.ThrowsAsync<ArgumentNullException>(action); await Xunit.Assert.ThrowsAsync<ArgumentNullException>(action);

Loading…
Cancel
Save