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(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(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(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(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(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(PinPicture.CreateAllPins(), false, true); var tirgger = pt.GetExpenseTriggers(bs); CollectionAssert.AreEqual(tirgger, new[] { ExpenseTrigger.FullSink }); } } }