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); }
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); }
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 } }); }
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); }