fin
continuous-integration/drone/push Build is passing Details

pull/20/head
victor perez ngounou 3 years ago
parent 85c0adec21
commit cdce8d51cc

@ -36,6 +36,11 @@ namespace BowlingLib.Model
this.IsSpare = false;
}
/// <summary>
/// Lance une quille
/// </summary>
/// <param name="quillesTombees">le nombre de quilles tombés </param>
/// <exception cref="ArgumentException"></exception>
public void Lancer(int quillesTombees)
{
if (quillesTombees > QuillesRestantes)
@ -80,6 +85,7 @@ namespace BowlingLib.Model
if (quillesTombees + this.Lancer1.QuillesTombees == 10)
{
this.IsSpare = true;
QuillesRestantes = 10;
}
}
}

@ -13,17 +13,30 @@ namespace BowlingLib.Model
public List<Frame> Frames { get; set; }
/// <summary>
/// Constructeur
/// </summary>
/// <param name="joueur"></param>
public Partie(Joueur joueur)
{
this.Joueur = joueur;
Frames = new List<Frame>();
}
/// <summary>
/// Ajoute un frame à la partie
/// </summary>
/// <param name="frame"></param>
public void AddFrame(Frame frame)
{
Frames.Add(frame);
}
/// <summary>
/// Calcule le score de la partie
/// </summary>
/// <returns>le Score d'une partie</returns>
public int? GetScore()
{
int? score = 0;

@ -68,7 +68,11 @@ namespace BowlingAppUnitTest
{
partie.Frames[i].Lancer(5);
partie.Frames[i].Lancer(5);
if (i == 9)
{
partie.Frames[i].Lancer(5);
}
}
//Act
@ -109,6 +113,10 @@ namespace BowlingAppUnitTest
{
partie.Frames[i].Lancer(5);
partie.Frames[i].Lancer(5);
if (i==9)
{
partie.Frames[i].Lancer(5);
}
}
}
@ -118,5 +126,39 @@ namespace BowlingAppUnitTest
//Assert
Assert.Equal(200, score);
}
//le cas ou le joueur ne fait aucun strike ou spare
[Fact]
public void TestGetScore4()
{
//Arrange
StubPartie stubPartie = new StubPartie();
List<Partie> listParties = stubPartie.ListParties();
Partie partie = listParties[0];
partie.AddFrame(new Frame(1));
partie.AddFrame(new Frame(2));
partie.AddFrame(new Frame(3));
partie.AddFrame(new Frame(4));
partie.AddFrame(new Frame(5));
partie.AddFrame(new Frame(6));
partie.AddFrame(new Frame(7));
partie.AddFrame(new Frame(8));
partie.AddFrame(new Frame(9));
partie.AddFrame(new Frame(10));
for (int i = 0; i < partie.Frames.Count; i++)
{
partie.Frames[i].Lancer(5);
partie.Frames[i].Lancer(4);
}
//Act
int? score = partie.GetScore();
//Assert
Assert.Equal(90, score);
}
}
}
Loading…
Cancel
Save