public void TestBonusBuilder() { // Arrange var bearResult = new BearResult("s"); 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 } }; bearResult.Wheel = new BearWheel(1, ArrayModule.OfSeq(reels)); // action var bonus = BonusInspection.inspect(HoneyPot.Mode.Primary, bearResult); // assert Assert.NotNull(bonus); Assert.AreEqual(bonus.Value.At[0].RowPositions, new List <int> { 0, 2, 2, 2, 0 }); Assert.AreEqual(bonus.Value.Item.ClientId, 3); Assert.AreEqual(bonus.Value.Item.Count, 15); }
public void TestCreateHoneyBonus() { // Arrange var result = new BearResult("s"); var reels = new List <int[]> { new[] { 1, 6, 10 }, new[] { 6, 9, 12 }, new[] { 6, 10, 13 }, new[] { 9, 13, 12, }, new[] { 12, 10, 13 } }; result.Bonus = new Stake(Guid.NewGuid(), 4); result.Bonus.Count = HoneyPot.getHoneyPots(HoneyPot.Mode.Primary, 0.75); result.Wheel = new BearWheel(1, ArrayModule.OfSeq(reels)); result.BonusPositions = new List <BonusPosition> { new BonusPosition { Line = 1, Multiplier = 1, RowPositions = new List <int> { 3, 0, 2, 0, 2 } } }; // action var bonus = module.CreateBonus(result); var state = ((BearBonus)bonus.Value).State; // Assert Assert.AreEqual(result.Bonus.Guid, bonus.Value.Guid); Assert.AreEqual(true, state.IsHoney); Assert.AreEqual(false, state.IsFreeSpin); Assert.AreEqual(false, state.IsHoneyFreeSpin); Assert.AreEqual(4, ((Honey)state).Item.Id); Assert.AreEqual(3, ((Honey)state).Item.Pot.Count); Assert.AreEqual(3, ((Honey)state).Item.Pot.TotalSpin); Assert.AreEqual(1, ((Honey)state).Item.BeeHive.Count); Assert.AreEqual(1, ((Honey)state).Item.BeeHive.TotalSpin); }
public void TestCreateFreeSpinBonus() { // Arrange var result = new BearResult("s"); 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); result.Bonus.Count = 15; result.Wheel = new BearWheel(1, ArrayModule.OfSeq(reels)); 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 = ((BearBonus)bonus.Value).State; // Assert Assert.AreEqual(result.Bonus.Guid, bonus.Value.Guid); Assert.AreEqual(true, state.IsFreeSpin); Assert.AreEqual(false, state.IsHoney); Assert.AreEqual(false, state.IsHoneyFreeSpin); Assert.AreEqual(3, ((FreeSpin)state).Item.Id); Assert.AreEqual(15, ((FreeSpin)state).Item.Prize.Count); Assert.AreEqual(15, ((FreeSpin)state).Item.Prize.TotalSpin); }
private static SummaryData ExecuteMainGameHoney(int level, RequestContext <BonusArgs> bonusRequestcontext, BearResult result) { var bonus = module.CreateBonus(result); var summData = new SummaryData(); var freeSpinBonus = bonus.Value as BearBonus; do { var freeSpinResult = BonusReducer.dispatch(level, freeSpinBonus, bonusRequestcontext); summData.MgHoneyWin += freeSpinResult.Win; if (freeSpinResult.IsCompleted) { break; } freeSpinBonus = freeSpinResult.Bonus as BearBonus; } while (true); return(summData); }
private static SummaryData ExecuteFreeSpin(int level, RequestContext <BonusArgs> bonusRequestcontext, BearResult result) { var bonus = module.CreateBonus(result); var summData = new SummaryData(); var freeSpinBonus = bonus.Value as BearBonus; do { summData.FSpinCounter++; var freeSpinResult = BonusReducer.dispatch(level, freeSpinBonus, bonusRequestcontext); var spinResult = freeSpinResult.SpinResult; if (spinResult.HasBonus) { var additionBonus = spinResult.Bonus; if (additionBonus.ClientId == 4) { summData.FgHoneyHit++; } else if (additionBonus.ClientId == 3) { summData.FgFHit++; } } if (spinResult.Type == "b") { summData.FgHoneyWin += spinResult.Win; } else { summData.FSTotalWin += spinResult.Win; } if (freeSpinResult.IsCompleted) { break; } freeSpinBonus = freeSpinResult.Bonus as BearBonus; } while (true); return(summData); }
public void TestExecuteBonus() { // Arrange var spinResult = new BearResult("s"); var user = new UserGameKey(-1, 103); 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 } }; spinResult.Bonus = new Stake(Guid.NewGuid(), 3); spinResult.Bonus.Count = 15; spinResult.Wheel = new BearWheel(1, ArrayModule.OfSeq(reels)); spinResult.BonusPositions = new List <BonusPosition> { new BonusPosition { Line = 1, Multiplier = 1, RowPositions = new List <int> { 0, 2, 2, 2, 0 } } }; spinResult.SpinBet = new SpinBet(user, PlatformType.None) { Lines = 25, LineBet = 1.0m }; var userSession = new UserSession { SessionKey = "unittest", UserId = -1 }; var requestContext = new RequestContext <SpinArgs>("simulation", "Bonus Bear", PlatformType.None) { GameSetting = new GameSetting { GameSettingGroupId = 1 }, Query = new QueryCollection { }, Game = new Game { Id = 103 } }; var requestBonusContext = new RequestContext <BonusArgs>("unittest", "Bonus Bear", 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 BearSeqFreeSpinResult; // assert Assert.NotNull(result); Assert.AreEqual(true, ((Domain.BearBonus)result.Bonus).State.IsFreeSpin); Assert.IsTrue(result.Type == "fs"); }