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

test_dice_group_manager
mzjeeawody 3 years ago
parent 5432a07e9e
commit 1e4f846edb

@ -23,6 +23,21 @@ namespace Model.Dice
}
diceGroups.Add(new(toAdd.Name.Trim(), toAdd.Dice));
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()

@ -1,22 +1,22 @@
using Data;
using Data.EF;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Model.Dice;
using Model.Dice.Faces;
using Model.Games;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
namespace Tests.Data_UTs.Dice
{
public class DiceGroupManagerTest
using Data;
using Data.EF;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Model.Dice;
using Model.Dice.Faces;
using Model.Games;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
namespace Tests.Data_UTs.Dice
{
public class DiceGroupManagerTest
{
private static readonly Task<MasterOfCeremonies> stubGameRunner = new Stub().LoadApp();
[Fact]
@ -43,18 +43,18 @@ namespace Tests.Data_UTs.Dice
public async Task TestAddWhenDiceGroupThenDoAddAndReturnDiceGroup()
{
// Arrange
DiceGroupManager dgm = new();
DiceGroup group1 = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
DiceGroupManager dgm = new();
DiceGroup group1 = new("Monopoly", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
DiceGroup group2 = new("Scrabble", new List<NumberDie> { new NumberDie(new NumberFace(5), new NumberFace(7)), new NumberDie(new NumberFace(5), new NumberFace(7)) });
//...storing the results of DiceGroupManager.Add() in variables
Collection<DiceGroup> expected = new() {group1,group2 };
Collection<DiceGroup> actual = new()
{
await dgm.Add(group1),
await dgm.Add(group2)
};
// Assert
Collection<DiceGroup> expected = new() {group1,group2 };
Collection<DiceGroup> actual = new()
{
await dgm.Add(group1),
await dgm.Add(group2)
};
// Assert
Xunit.Assert.Equal(expected, actual);
Xunit.Assert.Equal(expected, actual);
}
@ -68,8 +68,8 @@ namespace Tests.Data_UTs.Dice
async Task actionAsync() => await dgm.Add(expected);// Add() returns the added element if succesful
// Assert
Xunit.Assert.Null(expected);
await Xunit.Assert.ThrowsAsync<ArgumentNullException>(actionAsync);
Xunit.Assert.Null(expected);
await Xunit.Assert.ThrowsAsync<ArgumentNullException>(actionAsync);
Xunit.Assert.DoesNotContain(expected, await dgm.GetAll());
}
[Fact]
@ -77,13 +77,13 @@ namespace Tests.Data_UTs.Dice
{
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)) });
async Task actionAsync() => await dgm.Add(group1);
async Task actionAsync() => await dgm.AddCheckName(group1);
// 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)) });
await dgm.Add(toAdd);
async Task action() => dgm.GetOneByName(name);
async Task action() => await dgm.GetOneByName(name);
// Assert
await Xunit.Assert.ThrowsAsync<ArgumentNullException>(action);
@ -237,5 +237,5 @@ namespace Tests.Data_UTs.Dice
}
}
}
}

Loading…
Cancel
Save