public void EngineShouldCreateCollapsingSpinResultWithCorrectMultiplier(int level) { var config = new Configuration(); var spinResult = GenerateWinningSpinResult(level); var targetWheel = MainGameEngine.GetTargetWheel(level, config, spinResult.Wheel.ReelStripsId); CollapsingSpinResult collapsingSpinResult = null; do { collapsingSpinResult = CollapsingBonusEngine.CreateCollapsingSpinResult(spinResult, targetWheel, config.BonusConfig.Collapse.Multipliers, config.Payline, config.PayTable); if (collapsingSpinResult.Win > 0) { spinResult = collapsingSpinResult; } } while (collapsingSpinResult.Win > 0); var targetMultiplier = CollapsingBonusEngine.GetCollapseMultiplier(config.BonusConfig.Collapse.Multipliers, collapsingSpinResult.CollapsingSpinCount - 1); Assert.IsTrue(spinResult.AvalancheMultiplier == targetMultiplier); }
public void EngineShouldIncreaseWinPositionMultiplierOnSpinCollapse(int level) { var config = new Configuration(); var spinResult = GenerateWinningSpinResult(level); var targetWheel = MainGameEngine.GetTargetWheel(level, config, spinResult.Wheel.ReelStripsId); CollapsingSpinResult collapsingSpinResult = null; do { collapsingSpinResult = CollapsingBonusEngine.CreateCollapsingSpinResult(spinResult, targetWheel, config.BonusConfig.Collapse.Multipliers, config.Payline, config.PayTable); if (collapsingSpinResult.Win > 0) { spinResult = collapsingSpinResult; } } while (collapsingSpinResult.Win > 0); var targetMultiplier = spinResult.AvalancheMultiplier; var targetWinPosition = spinResult.WinPositions.FirstOrDefault(); var symbolMultiplier = config.PayTable.GetOdds(targetWinPosition.Symbol, targetWinPosition.Count); Assert.IsTrue(symbolMultiplier * targetMultiplier == targetWinPosition.Multiplier); }