public static FreeSpinCollapsingResult GenerateWithBonusFreeSpinCollapsingResult(int level) { var generateCount = 0; var config = new Configuration(); var spinResult = GenerateWinningSpinResult(level); var targetWheel = MainGameEngine.GetTargetWheel(level, config, spinResult.Wheel.ReelStripsId); var freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult( spinResult, targetWheel, config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols); while (!freeSpinCollapsingResult.HasFeatureBonus) { spinResult = GenerateWinningSpinResult(level); targetWheel = MainGameEngine.GetTargetWheel(level, config, spinResult.Wheel.ReelStripsId); freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult( spinResult, targetWheel, config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols); generateCount++; Debug.WriteLine($"CollapsingSpinResult Generate Count: {generateCount}"); } return(freeSpinCollapsingResult); }
public void EngineShouldCompleteFreeSpinBonusResultOnBonusCompletion(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(freeSpinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus); freeSpinBonus.UpdateBonus(freeSpinResult); freeSpinResult.UpdateBonus(freeSpinBonus); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); while (!freeSpinBonus.IsCompleted) { freeSpinResult = GenerateNonWinningFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); } Assert.IsTrue(freeSpinBonusResult.IsCompleted); }
public void EngineShouldCopyBonusValuesFromResultToXml(int gameId, int level) { var module = GetModule(gameId); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus); var freeSpinResult = GenerateFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var xElement = freeSpinBonusResult.ToXElement(); var responseXml = new FreeSpinBonusXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } Assert.IsNull(responseXml.GetSchema()); Assert.AreEqual(freeSpinBonusResult.TotalWin, responseXml.TotalWin); Assert.AreEqual(freeSpinBonusResult.Counter, responseXml.Counter); Assert.AreEqual(freeSpinBonusResult.NumberOfFreeSpin, responseXml.NumberOfFreeSpin); }
public bool FreeSpinResultShouldFlagSpinResultWithBonusOnScatterOrCollapse(string wheelString, int level, decimal bet) { var config = new Configuration(); var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new SpinArgs { LineBet = bet, Multiplier = 1 } }); var wheel = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString()); var winPositions = FreeSpinBonusEngine.GenerateWinPositions( config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols, wheel, spinBet.LineBet, spinBet.Lines, 1); var bonusPositions = MainGameEngine.GenerateBonusPositions(wheel); var freeSpinResult = new FreeSpinResult(spinBet, wheel, null, winPositions, bonusPositions); return(freeSpinResult.HasBonus); }
public string EngineShouldCreateCorrectCollapseReels(string wheelString, string indicesString, int level) { wheelString = string.Join(',', wheelString.Split('|')); var config = new Configuration(); var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new SpinArgs { LineBet = 1, Multiplier = 1 } }); var targetWheel = MainGameEngine.GetTargetWheel(level, config); var topIndices = Array.ConvertAll(indicesString.Split(','), Convert.ToInt32).ToList(); var wheel = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString); var winPositions = MainGameEngine.GenerateWinPositions(config.Payline, config.PayTable, wheel, spinBet.LineBet, spinBet.Lines, 1); var matchingSymbolPositions = MainGameEngine.GenerateMatchingSymbolPositions(config.SymbolCollapsePairs, winPositions.Select(wp => wp.Symbol).ToList(), wheel); var bombAndStopperPositions = MainGameEngine.GenerateBombAndStopperPositions(wheel, winPositions); var freeSpinResult = new Games.NuwaAndTheFiveElements.Models.GameResults.Spins.FreeSpinResult(level, spinBet, wheel, topIndices, winPositions, matchingSymbolPositions, bombAndStopperPositions); var freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult(freeSpinResult, targetWheel, config.SymbolCollapsePairs, config.Payline, config.PayTable); return(string.Join('|', freeSpinCollapsingResult.Wheel.Reels.Select(symbols => string.Join(',', symbols)))); }
public void EngineShouldCreateFreeSpinSelectionBonusInstance(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); Assert.IsNotNull(FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult)); }
public void EngineShouldCreateFreeSpinBonusResultFromFreeSpinCollapsingResult(int level) { var config = new Configuration(); var requestContext = new RequestContext <BonusArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new BonusArgs(), Platform = PlatformType.All }; Assert.DoesNotThrow(() => { var freeSpinResult = FreeSpinBonusEngine.CreateFreeSpinResult(level, requestContext, config); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); var targetWheel = MainGameEngine.GetTargetWheel(level, config, freeSpinResult.Wheel.ReelStripsId); var freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult(freeSpinResult, targetWheel, config.BonusConfig.FreeSpin.Multipliers, config.Payline, config.PayTable); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinCollapsingResult); }); }
public void EngineShouldCreateFreeSpinBonusResultFromFreeSpinResult(int level) { var config = new Configuration(); var requestContext = new RequestContext <BonusArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new BonusArgs(), Platform = PlatformType.All }; var spinResult = GenerateSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus); var freeSpinResult = FreeSpinBonusEngine.CreateFreeSpinResult(level, requestContext, freeSpinMode, spinResult, config); Assert.DoesNotThrow(() => FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult)); }
public void EngineShouldWriteXmlOfFreeSpinBonusResultXml(int gameId, int level) { var module = GetModule(gameId); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(spinResult); var freeSpinResult = GenerateFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var xElement = freeSpinBonusResult.ToXElement(); Assert.DoesNotThrow(() => { var responseXml = new FreeSpinBonusXml(); using (var xmlReader = xElement.CreateReader()) { responseXml.ReadXml(xmlReader); } using (var memStream = new MemoryStream()) using (var xmlWriter = XmlWriter.Create(memStream, new XmlWriterSettings() { ConformanceLevel = ConformanceLevel.Auto })) { xmlWriter.WriteStartElement("bonus"); responseXml.WriteXml(xmlWriter); } }); }
public void EngineShouldReadResponseXmlOfFreeSpinBonusResult(int gameId, int level) { var module = GetModule(gameId); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus); var freeSpinResult = GenerateFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var xElement = freeSpinBonusResult.ToXElement(); Assert.DoesNotThrow(() => { using (var xmlReader = xElement.CreateReader()) { var responseXml = new FreeSpinBonusXml(); responseXml.ReadXml(xmlReader); } }); }
public string EngineShouldCreateCorrectCollapseReels(string wheelString, string indicesString, int level) { var config = new Configuration(); var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new SpinArgs { LineBet = 1, Multiplier = 1 } }); var targetWheel = config.WeightedReelStripsCollection.FirstOrDefault().Wheel; var topIndices = Array.ConvertAll(indicesString.Split(','), Convert.ToInt32).ToList(); var wheel = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString()); var winPositions = MainGameEngine.GenerateWinPositions(config.Payline, config.PayTable, wheel, spinBet.LineBet, spinBet.Lines, config.BonusConfig.FreeSpin.Multipliers.First()); var bonusPositions = MainGameEngine.GenerateBonusPositions(wheel); var freeSpinResult = new FreeSpinResult(spinBet, wheel, topIndices, winPositions, bonusPositions, config.BonusConfig.FreeSpin.Multipliers.First()); var freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult(freeSpinResult, targetWheel, config.BonusConfig.FreeSpin.Multipliers, config.Payline, config.PayTable); return(string.Join('|', freeSpinCollapsingResult.Wheel.Reels.Select(symbols => string.Join(',', symbols)))); }
public void EngineShouldCreateFreeSpinSelectionBonusWithValidGuid(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); Assert.IsTrue(!string.IsNullOrWhiteSpace(freeSpinSelectionBonus.Guid.ToString())); }
public void EngineShouldCreateFreeSpinSelectionBonusWithTransactionId(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); Assert.IsTrue(freeSpinSelectionBonus.SpinTransactionId == spinResult.TransactionId); }
public void EngineShouldCreateFreeSpinSelectionBonusWithGameResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); Assert.AreSame(spinResult, freeSpinSelectionBonus.GameResult); Assert.AreSame(spinResult, freeSpinSelectionBonus.SpinResult); }
public void EngineShouldStartBonusOnCreateFreeSpinBonusResult(int level) { var config = new Configuration(); var freeSpinResult = GenerateFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); Assert.IsTrue(freeSpinBonus.IsStarted); }
public void EngineShouldContinueFreeSpinBonusResultOnWinSpin(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); Assert.IsTrue(!freeSpinBonusResult.IsCompleted); }
public void EngineShouldCreateFreeSpinBonusResultWithSameSpinTransactionId(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); Assert.IsTrue(freeSpinBonusResult.SpinTransactionId == freeSpinBonus.SpinTransactionId); }
public void EngineShouldCreateFreeSpinBonusResultWithSameGameResultAndBonus(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); Assert.AreSame(freeSpinBonusResult.Bonus, freeSpinBonus); }
public decimal FreeSpinResultShouldCreateCorrectPayout(string wheelString, int replacementSymbol, int freeSpinSelection, int freeSpinMultiplier, int level, decimal bet) { var config = new Configuration(); var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web) { GameSetting = new Model.Entity.GameSetting { GameSettingGroupId = 0 }, Currency = new Model.Entity.Currency { Id = 0 }, Parameters = new SpinArgs { LineBet = bet, Multiplier = 1 } }); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); FreeSpinResult freeSpinResult = null; var wheel = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString()); var stackedReels = MainGameEngine.GetStackedSymbols(wheel); var bonusPositions = MainGameEngine.GenerateBonusPositions(wheel); var hasWildStackedReels = stackedReels.Any(sr => sr.Symbol == Symbols.Wild); var multiplier = hasWildStackedReels ? freeSpinMultiplier : spinBet.Multiplier; if (wheel.CountDistinct(Symbols.Mystery) > 0) { var replacedMysterySymbolWheel = MainGameEngine.GenerateReplacedMysterySymbolWheel(config, wheel, replacementSymbol); var winPositions = MainGameEngine.GenerateWinPositions( config.Payline, config.PayTable, replacedMysterySymbolWheel, spinBet.LineBet, spinBet.Lines, multiplier); freeSpinResult = new FreeSpinResult(level, spinBet, wheel, winPositions, bonusPositions, multiplier, replacementSymbol); } else /// Calculate wins with initial wheel { var winPositions = MainGameEngine.GenerateWinPositions( config.Payline, config.PayTable, wheel, spinBet.LineBet, spinBet.Lines, multiplier); freeSpinResult = new FreeSpinResult(level, spinBet, wheel, winPositions, bonusPositions, multiplier); } return(freeSpinResult.Win); }
public void EngineShouldIncompleteFreeSpinBonusIfWithCounter(int level) { var config = new Configuration(); var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); var initialCounter = freeSpinBonus.Counter; freeSpinBonus.UpdateBonus(freeSpinResult); Assert.IsTrue(!freeSpinBonus.IsCompleted); }
public void EngineShouldCreateFreeSpinBonus(int level) { var spinResult = GenerateSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); Assert.DoesNotThrow(() => FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus)); }
public void EngineShouldShouldDeductCounterOnFreeSpin(int level) { var config = new Configuration(); var freeSpinResult = GenerateNonWinningNonBonusFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); var initialCounter = freeSpinBonus.Counter; freeSpinBonus.UpdateBonus(freeSpinResult); Assert.AreEqual(initialCounter - 1, freeSpinBonus.Counter); }
public void EngineShouldCreateFreeSpinBonusInstance(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); Assert.IsNotNull(FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinSelectionBonus)); }
public void EngineShouldCreateBonusXElementOfFreeSpinBonusResult(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var xElement = freeSpinBonusResult.ToXElement(); Assert.IsNotNull(xElement); }
public void EngineShouldCreateBonusResponseXmlOfFreeSpinBonusResult(int level) { var freeSpinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinResult); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var responseXml = freeSpinBonusResult.ToResponseXml(Model.ResponseXmlFormat.History); Assert.IsNotNull(responseXml); }
public void FreeSpinCollapsingShouldHaveSameCountersOnBonusElementOnResultUpdate(int level) { var freeSpinCollapsingResult = GenerateWinningFreeSpinCollapsingResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(freeSpinCollapsingResult); freeSpinBonus.UpdateBonus(freeSpinCollapsingResult); freeSpinCollapsingResult.UpdateBonus(freeSpinBonus); var isEqualCurrentFreeSpinCounter = freeSpinCollapsingResult.BonusElement.Count == freeSpinBonus.Counter; var isEqualFreeSpinCount = freeSpinCollapsingResult.BonusElement.AdditionalFreeSpinCount == freeSpinBonus.NumOfFreeSpin; Assert.IsTrue(isEqualFreeSpinCount && isEqualCurrentFreeSpinCounter); }
public void EngineShouldStartAndCompleteBonusOnCreateFreeSpinSelectionBonusResult(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinSelectionBonus = FreeSpinBonusEngine.CreateFreeSpinSelectionBonus(spinResult); var freeSpinSelection = RandomNumberEngine.Next(FreeSpinMode.MinimumFreeSpinSelection, FreeSpinMode.MaximumFreeSpinSelection); var freeSpinMode = FreeSpinBonusEngine.GetFreeSpinMode(freeSpinSelection); freeSpinSelectionBonus.UpdateBonus(freeSpinSelection, freeSpinMode); Assert.IsTrue(freeSpinSelectionBonus.IsStarted); Assert.IsTrue(freeSpinSelectionBonus.IsCompleted); }
public void SpinResultShouldHaveSameBonusDetailsOnResultUpdate(int level) { var spinResult = GenerateWinningFreeSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(spinResult); freeSpinBonus.UpdateBonus(spinResult, 1); spinResult.UpdateBonus(freeSpinBonus); var isEqualBonusId = spinResult.BonusElement.Id == freeSpinBonus.Id; var isEqualBonusGuid = spinResult.BonusElement.Value == freeSpinBonus.Guid.ToString("N"); Assert.IsTrue(isEqualBonusId && isEqualBonusGuid); }
public void EngineShouldCreateBonusResponseXmlOfFreeSpinBonusResult(int gameId, int level) { var module = GetModule(gameId); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(spinResult); var freeSpinResult = GenerateFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); var freeSpinBonusResult = FreeSpinBonusEngine.CreateFreeSpinBonusResult(freeSpinBonus, freeSpinResult); var responseXml = freeSpinBonusResult.ToResponseXml(ResponseXmlFormat.History); Assert.IsNotNull(responseXml); }
public void EngineShouldCompleteFreeSpinBonusWithZeroCounter(int level) { var config = new Configuration(); var spinResult = GenerateWithBonusSpinResult(level); var freeSpinBonus = FreeSpinBonusEngine.CreateFreeSpinBonus(spinResult); for (var count = 0; count < freeSpinBonus.NumOfFreeSpin; count++) { var freeSpinResult = GenerateNonWinningNonBonusFreeSpinResult(level); freeSpinBonus.UpdateBonus(freeSpinResult); } Assert.IsTrue(freeSpinBonus.IsCompleted); }