示例#1
0
        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);
        }
示例#2
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);
            }
        }