KoogleV4/GameModel.UnitTests/PinThrowTests.cs

89 lines
3.5 KiB
C#

using GameModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GameModel.UnitTests
{
[TestFixture]
internal class PinThrowTests
{
[Test]
public void AllNineThrow_IsNotIsNotCircle()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic,false,false);
Assert.That(t.IsSink, Is.False);
Assert.That(t.IsNinePins, Is.True);
Assert.That(t.IsCircle, Is.False);
Assert.That(t.IsNoWood, Is.False);
Assert.That(t.PinCount, Is.EqualTo(9));
}
[Test]
public void IsCleared_IsFalseWhenAtLeastOnePinIsUp()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Up, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic, false, true);
Assert.That(t.IsCleared, Is.False);
}
[Test]
public void IsCleared_IsTrueWhenAllPinsAreDown()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic, false, false);
Assert.That(t.IsCleared, Is.True);
}
[Test]
public void IsCleared_IsFalseWhenAllPinsAreDownButSinkIsTrue()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic, false, true);
Assert.That(t.IsCleared, Is.False);
}
[Test]
public void SinkThrow_IsNothing()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic, false, true);
Assert.That(t.IsSink, Is.True);
Assert.That(t.IsNinePins, Is.False);
Assert.That(t.IsCircle, Is.False);
Assert.That(t.IsNoWood, Is.False);
Assert.That(t.PinCount, Is.EqualTo(0));
}
[Test]
public void Circle_IsNotAllNine()
{
var pic = new PinPicture(PinState.Down, PinState.Down, PinState.Down, PinState.Down, PinState.Up, PinState.Down, PinState.Down, PinState.Down, PinState.Down);
var t = PinThrow.Create(1, pic, false, false);
Assert.That(t.IsSink, Is.False);
Assert.That(t.IsNinePins, Is.False);
Assert.That(t.IsCircle, Is.True);
Assert.That(t.IsNoWood, Is.False);
Assert.That(t.PinCount, Is.EqualTo(8));
}
[Test]
public void NoWood_IsNotSink()
{
var pic = new PinPicture(PinState.Up, PinState.Up, PinState.Up, PinState.Up, PinState.Up, PinState.Up, PinState.Up, PinState.Up, PinState.Up);
var t = PinThrow.Create(1, pic, false, false);
Assert.That(t.IsSink, Is.False);
Assert.That(t.IsNinePins, Is.False);
Assert.That(t.IsCircle, Is.False);
Assert.That(t.IsNoWood, Is.True);
Assert.That(t.PinCount, Is.EqualTo(0));
}
}
}