pull/3/head
najlae.lambaraa 3 years ago
parent 9ac6d71b19
commit 9cfcb854da

@ -14,14 +14,24 @@ namespace Model
private List<Die> listDice = new List<Die>(); //encapsulation des collections voir les videos partie 2
public ReadOnlyCollection <Die> ListDice { get; set; }
public ReadOnlyCollection<Die> ListDice { get; set; }
public Game(string name)
public Game(string name, List<Die> listDice)
{
Name = name;
}
public Game(string name, params Die[] numberDie1)
{
Name = name;
AddDice(numberDie1);
}
public string Name
{
get
@ -40,6 +50,7 @@ namespace Model
}
}
public bool AddDice(Die die)
{
if (listDice.Contains(die))
@ -50,8 +61,18 @@ namespace Model
return true;
}
public void AddDice(params Die[] die)
{
for (int i = 0; i < die.Length; i++)
{
AddDice(die[i]);
}
}
public List<Die> GetDices()
{
return listDice;
}
}
}

@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data
namespace Model
{
public interface IDataManager
{

@ -4,10 +4,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Model;
namespace Data
namespace Model
{
public class Manager
{
@ -21,6 +20,15 @@ namespace Data
public void AddDice(Die addD)
{
dataManager.AddDice(addD);
}
public void RemoveDice(Die removeD)
{
dataManager.RemoveDice(removeD);
}
}

@ -47,5 +47,13 @@ namespace Model
int resultat = random.Next(min, max + 1);
return resultat;
}
public override bool Equals(object? obj)
{
return obj is NumberDie die &&
Name == die.Name &&
min == die.min &&
max == die.max;
}
}
}

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Data;
using Model;
namespace Testeur
{
public class TesterStub
{
[Fact]
public void TesterAddManager()
{
//Arange
Manager m = new Manager(new Stub());
NumberDie nd = new NumberDie("de1",1,6);
// Game d = new Game("de1");
m.AddDice(nd);
Assert.Equal("de1", nd.Name);
}
}
}

@ -22,6 +22,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Data\Data.csproj" />
<ProjectReference Include="..\Model\Model.csproj" />
</ItemGroup>

@ -27,6 +27,51 @@ namespace Testeur
Assert.Equal( expectedName,d.Name);
}
public static IEnumerable<object[]> TestAddNumberDie()
{
yield return new object[] {
true,
new NumberDie[]
{
new NumberDie("de1",1,6),
new NumberDie("de2", 1, 6),
new NumberDie("de3", 1, 6),
new NumberDie("de4", 1, 6)
},
new Game("Monopoly", new NumberDie("de1",1,6),
new NumberDie("de2", 1, 6),
new NumberDie("de3", 1, 6)),
new NumberDie("de4", 1, 6)
};
yield return new object[] {
false,
new NumberDie[]
{
new NumberDie("de1",1,6),
new NumberDie("de2", 1, 6),
new NumberDie("de3", 1, 6),
},
new Game("Parchis",
new NumberDie("de1",1,6),
new NumberDie("de2", 1, 6),
new NumberDie("de3", 1, 6)),
new NumberDie("de3", 1, 6)
};
}
[Theory]
[MemberData(nameof(TestAddNumberDie))]
public void Test_AddGame(bool expectedResult, NumberDie[] expectedDie,Game game,NumberDie die)
{
bool resultat = game.AddDice(die);
Assert.Equal(expectedResult, resultat);
Assert.Equal(expectedDie.Length,game.GetDices().Count);
Assert.All(expectedDie, i => game.ListDice.Contains(i));
}
}
}

Loading…
Cancel
Save