public void ThrowIfZeroAccuracy()
        {
            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy = 0
            };

            ShootingSolver.Solve();
        }
        public void ThrowIfNegativeAccuracy()
        {
            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy = -1
            };

            ShootingSolver.Solve();
        }
        public void ThrowIfMissingAccuracyMeasure()
        {
            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy = 1,
                Aggressiveness  = 1
            };

            ShootingSolver.Solve();
        }
        public void ThrowIfZeroAggressiveness()
        {
            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy = 1,
                Aggressiveness  = 0
            };

            ShootingSolver.Solve();
        }
        public void ThrowIfMissingSolver()
        {
            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy         = 1,
                Aggressiveness          = 1,
                SolutionAccuracyMeasure = () => 0,
                Solver = null
            };

            ShootingSolver.Solve();
        }
        public void ThrowIfTooManyAttempts()
        {
            InitRseSolver_Dummy();

            ShootingSolver = new RseShootingSolver
            {
                DesiredAccuracy         = 1,
                Aggressiveness          = 1,
                SolutionAccuracyMeasure = () => 10 * ShootingSolver.DesiredAccuracy,
                Solver    = Solver,
                MaxTrials = -1
            };

            ShootingSolver.Solve();
        }