public void TestHoneyFeatgure() { // arrange var honeyItem = new HoneyItem(4, 1, new Prize(3, 0), new Prize(1, 0), 0); var user = new UserGameKey(-1, 103); var bet = new SpinBet(user, PlatformType.None) { Lines = 25, LineBet = 1.0m, Multiplier = 1 }; var action = new Domain.Action(1, user, bet, 1, PlatformType.None); // action var state = HoneyReducer.dispatch(action, honeyItem); var honeyState = state.BonusState as Honey; // Assert Assert.AreEqual(3, honeyState.Item.Count); Assert.AreEqual(1, honeyState.Item.CurrentStep); Assert.AreEqual(2, honeyState.Item.Pot.Count); Assert.AreEqual(1, honeyState.Item.Pot.CurrentStep); Assert.AreEqual(1, honeyState.Item.BeeHive.Count); Assert.AreEqual(0, honeyState.Item.BeeHive.CurrentStep); Assert.AreEqual(false, honeyState.Item.IsCompleted); Assert.IsTrue(state.Result.Win > 0); }
public void TestHoneyFreeSpinFeature() { // arrange var honeyItem = new HoneyItem(4, 3, new Prize(0, 0), new Prize(1, 0), 0); var freeSpinItem = new BonusItem(3, 3, new Prize(2, 0), 1); var honeyFreeSpinItem = new BearHoneyFreeSpin(honeyItem, freeSpinItem); var user = new UserGameKey(-1, 103); var bet = new SpinBet(user, PlatformType.None) { Lines = 25, LineBet = 1.0m, Multiplier = 1 }; var action = new Domain.Action(1, user, bet, 1, PlatformType.None); // action var state = HoneyFreeSpinReducer.dispatch(action, honeyFreeSpinItem); // Assert Assert.AreEqual(false, state.BonusState.IsHoney); if (state.BonusState.IsHoneyFreeSpin) { var honeyFreeSpinState = state.BonusState as HoneyFreeSpin; var honey = honeyFreeSpinState.Item.Honey; var freeSpin = honeyFreeSpinState.Item.FreeSpin; Assert.AreEqual(4, honey.Id); Assert.AreEqual(3, honey.Multiplier); Assert.AreEqual(0, honey.Pot.Count); Assert.AreEqual(1, honey.Pot.CurrentStep); Assert.AreEqual(1, honey.BeeHive.Count); Assert.AreEqual(0, honey.BeeHive.CurrentStep); Assert.AreEqual(false, honey.IsCompleted); Assert.AreEqual(3, freeSpin.Id); Assert.AreEqual(3, freeSpin.Multiplier); Assert.AreEqual(2, freeSpin.Prize.Count); Assert.AreEqual(0, freeSpin.Prize.CurrentStep); Assert.AreEqual(false, freeSpin.IsCompleted); } if (state.BonusState.IsFreeSpin) { var freeSpin = state.BonusState as FreeSpin; Assert.AreEqual(3, freeSpin.Item.Id); Assert.AreEqual(3, freeSpin.Item.Multiplier); Assert.AreEqual(2, freeSpin.Item.Prize.Count); Assert.AreEqual(0, freeSpin.Item.Prize.CurrentStep); Assert.AreEqual(false, freeSpin.Item.IsCompleted); Assert.AreEqual(state.Result.Win + freeSpinItem.CumulativeWin, freeSpin.Item.CumulativeWin); } }