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

@ -11,17 +11,27 @@ namespace Model
{ {
private string name; private string name;
private List<Die> listDice = new List<Die>(); //encapsulation des collections voir les videos partie 2 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, List<Die> listDice)
{
Name = name;
public Game(string name)
}
public Game(string name, params Die[] numberDie1)
{ {
Name = name; Name = name;
AddDice(numberDie1);
} }
public string Name public string Name
{ {
get get
@ -40,6 +50,7 @@ namespace Model
} }
} }
public bool AddDice(Die die) public bool AddDice(Die die)
{ {
if (listDice.Contains(die)) if (listDice.Contains(die))
@ -50,8 +61,18 @@ namespace Model
return true; 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.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Data namespace Model
{ {
public interface IDataManager public interface IDataManager
{ {

@ -4,10 +4,9 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model;
namespace Data namespace Model
{ {
public class Manager public class Manager
{ {
@ -18,10 +17,19 @@ namespace Data
{ {
dataManager = data; dataManager = 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); int resultat = random.Next(min, max + 1);
return resultat; return resultat;
} }
public override bool Equals(object? obj)
{
return obj is NumberDie die &&
Name == die.Name &&
min == die.min &&
max == die.max;
}
} }
} }

@ -1,17 +1,17 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model; using Model;
namespace Testeur namespace Testeur
{ {
public class TestMethodeRandom public class TestMethodeRandom
{ {
[Fact] [Fact]
public void TesterMethodeRandom() public void TesterMethodeRandom()
{ {
for (int i=0;i>100;i++) for (int i=0;i>100;i++)
{ {
//Arrange //Arrange
@ -24,12 +24,12 @@ namespace Testeur
//Assert //Assert
Assert.InRange(actual, expectedMin, expectedMax); Assert.InRange(actual, expectedMin, expectedMax);
} }
} }
} }
} }

@ -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>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Data\Data.csproj" />
<ProjectReference Include="..\Model\Model.csproj" /> <ProjectReference Include="..\Model\Model.csproj" />
</ItemGroup> </ItemGroup>

@ -26,7 +26,52 @@ namespace Testeur
Assert.Equal (expectedMax, d.Max); Assert.Equal (expectedMax, d.Max);
Assert.Equal( expectedName,d.Name); 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