72 lines
2.5 KiB
C#
72 lines
2.5 KiB
C#
using GameHandler.Extensions;
|
|
using GameModel;
|
|
using GameModel.Mocks;
|
|
using NUnit.Framework.Legacy;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace GameHandler.UnitTests.Extensions
|
|
{
|
|
[TestFixture]
|
|
internal class PinThrowExtensionTests
|
|
{
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_SinkReturnsSinkTrigger()
|
|
{
|
|
var bs = BoardState.Create();
|
|
var pt = PinThrow.Create(1, PinPicture.Create(1, PinState.Down), false, true);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] {ExpenseTrigger.Sink});
|
|
}
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_SinkAndBellReturnsSinkAndBellTrigger()
|
|
{
|
|
var bs = BoardState.Create();
|
|
var pt = PinThrow.Create(1, PinPicture.Create(1, PinState.Down), true, true);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.Sink, ExpenseTrigger.Bell });
|
|
}
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_NoWoodReturnsNoWoodTrigger()
|
|
{
|
|
var bs = BoardState.Create();
|
|
var pt = PinThrow.Create(1, PinPicture.Create(), false, false);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.NoWood });
|
|
}
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_CircleReturnsCircleTrigger()
|
|
{
|
|
var bs = BoardState.Create();
|
|
var pt = PinThrow.Create(1, PinPicture.CreateCircle(), false, false);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.Circle });
|
|
}
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_NineReturnsNineTrigger()
|
|
{
|
|
var bs = BoardState.Create();
|
|
var pt = PinThrow.Create(1, PinPicture.CreateAllPins(), false, false);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.NinePins });
|
|
}
|
|
|
|
[Test]
|
|
public void GetExpenseTriggers_SinkAtStartReturnsSinkAtStartTrigger()
|
|
{
|
|
var bs = BoardState.Create(ThrowMode.Decrease);
|
|
var pt = PinThrow.Create(1, PinPicture.CreateAllPins(), false, true);
|
|
var tirgger = pt.GetExpenseTriggers(bs);
|
|
CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.SinkAtAll });
|
|
}
|
|
}
|
|
}
|