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