Ejemplo n.º 1
0
        public void TestCreateHoldSpinBonus()
        {
            // Arrange
            var user   = new UserGameKey(-1, 104);
            var result = new Games.DragonRiches.DragonRichesResult();
            var reels  = new List <int[]>
            {
                new[] { 1, 6, 11 },
                new[] { 6, 11, 11 },
                new[] { 11, 10, 13 },
                new[] { 9, 11, 12, },
                new[] { 12, 11, 13 }
            };

            result.Bonus = new Stake(Guid.NewGuid(), 4)
            {
                Count = 3
            };
            result.Wheel = new Games.DragonRiches.DragonRichesWheel();

            // action
            var bonus = module.CreateBonus(result);
            var state = ((Games.DragonRiches.DragonRichesBonus)bonus.Value).State;

            // Assert
            Assert.AreEqual(result.Bonus.Guid, bonus.Value.Guid);
            Assert.AreEqual(true, state is Games.DragonRiches.HoldSpin);
            Assert.AreEqual(false, state is Games.DragonRiches.FreeSpin);
            Assert.AreEqual(false, state is Games.DragonRiches.HoldFreeSpin);
            Assert.AreEqual(3, ((Games.DragonRiches.HoldSpin)state).State.Count);
        }
Ejemplo n.º 2
0
        public void TestCreateFreeSpinBonus()
        {
            // Arrange
            var user   = new UserGameKey(-1, 104);
            var result = new Games.DragonRiches.DragonRichesResult();
            var reels  = new List <int[]>
            {
                new[] { 0, 6, 10 },
                new[] { 6, 11, 12 },
                new[] { 6, 11, 13 },
                new[] { 9, 11, 12, },
                new[] { 12, 10, 13 }
            };

            result.Bonus = new Stake(Guid.NewGuid(), 3)
            {
                Count = 6
            };
            result.Wheel          = new Games.DragonRiches.DragonRichesWheel();
            result.BonusPositions = new List <BonusPosition> {
                new BonusPosition {
                    Line = 1, Multiplier = 1, RowPositions = new List <int> {
                        0, 2, 2, 2, 0
                    }
                }
            };

            // action
            var bonus = module.CreateBonus(result);
            var state = ((Games.DragonRiches.DragonRichesBonus)bonus.Value).State;

            // Assert
            Assert.AreEqual(result.Bonus.Guid, bonus.Value.Guid);
            Assert.AreEqual(true, state is Games.DragonRiches.FreeSpin);
            Assert.AreEqual(false, state is Games.DragonRiches.HoldSpin);
            Assert.AreEqual(false, state is Games.DragonRiches.HoldFreeSpin);
            Assert.AreEqual(6, ((Games.DragonRiches.FreeSpin)state).State.Count);
        }
Ejemplo n.º 3
0
        public void TestBonusBuilder()
        {
            var user          = new UserGameKey(-1, 104);
            var result        = new Games.DragonRiches.DragonRichesResult();
            var reelsHoldSpin = new List <int[]>
            {
                new [] { 1, 6, 11 },
                new [] { 6, 11, 11 },
                new [] { 11, 10, 11 },
                new [] { 9, 11, 11, },
                new [] { 11, 11, 11 }
            };

            var reelsFreeSpin = new List <int[]>
            {
                new [] { 1, 6, 12 },
                new [] { 6, 12, 12 },
                new [] { 12, 9, 13 },
                new [] { 9, 12, 12, },
                new [] { 12, 12, 9 }
            };

            // action
            var holdSpinBonus = BonusInspection.InspectHoldSpin(reelsHoldSpin);
            var freeSpinBonus = BonusInspection.InspectFreeSpin(reelsFreeSpin);

            // assert
            Assert.NotNull(holdSpinBonus);
            Assert.NotNull(freeSpinBonus);
            Assert.IsTrue(holdSpinBonus.HasValue);
            Assert.IsTrue(freeSpinBonus.HasValue);
            Assert.AreEqual(holdSpinBonus.ValueOrDefault().At, new List <int[]> {
                new[] { 0, 0, 3 }, new[] { 0, 2, 3 }, new[] { 1, 0, 3 }, new[] { 0, 2, 3 }, new[] { 1, 2, 3 }
            });
            Assert.AreEqual(freeSpinBonus.ValueOrDefault().At, new List <int[]> {
                new[] { 0 }, new[] { 0 }, new[] { 2 }, new[] { 1 }, new[] { 3 }
            });
        }
Ejemplo n.º 4
0
        public void TestExecuteBonus()
        {
            // Arrange
            var user       = new UserGameKey(-1, 104);
            var spinResult = new Games.DragonRiches.DragonRichesResult();
            var reels      = new List <int[]>
            {
                new[] { 0, 6, 10 },
                new[] { 6, 9, 12 },
                new[] { 6, 9, 13 },
                new[] { 9, 11, 12, },
                new[] { 12, 10, 13 }
            };

            spinResult.Bonus          = new Stake(Guid.NewGuid(), 3);
            spinResult.Bonus.Count    = 6;
            spinResult.Wheel          = new Games.DragonRiches.DragonRichesWheel();
            spinResult.BonusPositions = new List <BonusPosition> {
                new BonusPosition {
                    Line = 1, Multiplier = 1, RowPositions = new List <int> {
                        0, 2, 2, 1, 0
                    }
                }
            };
            spinResult.SpinBet = new SpinBet(user, PlatformType.None)
            {
                Lines   = 30,
                LineBet = 1.0m
            };
            var userSession = new UserSession
            {
                SessionKey = "unittest",
                UserId     = -1
            };
            var requestContext = new RequestContext <SpinArgs>("simulation", "Dragon Riches", PlatformType.None)
            {
                GameSetting = new GameSetting {
                    GameSettingGroupId = 1
                },
                Query = new QueryCollection {
                },
                Game  = new Game {
                    Id = 104
                }
            };
            var requestBonusContext = new RequestContext <BonusArgs>("unittest", "Dragon Riches", PlatformType.None)
            {
                GameSetting = new GameSetting {
                    GameSettingGroupId = 1
                },
                Query = new QueryCollection {
                },
            };

            requestBonusContext.UserSession = userSession;
            requestBonusContext.UserGameKey = user;
            var bonus = module.CreateBonus(spinResult).Value;

            var entity = new BonusEntity
            {
                UserId       = userSession.UserId,
                GameId       = requestContext.Game.Id,
                Guid         = bonus.Guid.ToString("N"),
                Data         = Model.Utility.Extension.ToByteArray(bonus),
                BonusType    = bonus.GetType().Name,
                Version      = 3,
                IsOptional   = bonus.IsOptional,
                IsStarted    = bonus.IsStarted,
                RoundId      = 1,
                BetReference = ""
            };

            // action
            var result = module.ExecuteBonus(1, entity, requestBonusContext).Value as Games.DragonRiches.DragonRichesBonusSpinResult;

            // assert
            Assert.NotNull(result);
            //Assert.AreEqual(true, ((DragonRichesBonus)result.Bonus).State.IsFreeSpin);
        }