private static CheckStateContext <T> Resize( ResizeStrategy <T> resizeStrategy, GenerationStates.Generation_End <T> generationEndState, CheckStateContext <T> nextContext) { if (generationEndState.WasLateDiscard) { if (nextContext.ConsecutiveLateDiscards >= MaxConsecutiveDiscards) { return(nextContext .WithNextGenParameters(nextContext.NextParameters with { Size = nextContext.NextParameters.Size.BigIncrement() }) .ResetConsecutiveDiscards()); } else { return(nextContext); } } else { var resizeStrategyInfo = new ResizeStrategyInformation <T>( nextContext, generationEndState.CounterexampleContext, generationEndState.Instance); var nextSize = resizeStrategy(resizeStrategyInfo); return(nextContext .WithNextGenParameters(nextContext.NextParameters with { Size = nextSize })); } }
public ResizeCheckStateTransitionDecorator(ResizeStrategy <T> resizeStrategy) { _resizeStrategy = resizeStrategy; }