KoogleV4/GameHandler.UnitTests/Extensions/PinThrowExtensionTests.cs

71 lines
2.5 KiB
C#

using GameHandler.Extensions;
using GameModel;
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 });
}
}
}