Esempio n. 1
0
        public void TestIsValidComponentsAreMissing()
        {
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create();


            Assert.IsNotNull(config);
            Assert.IsFalse(config.IsValid());
        }
Esempio n. 2
0
        public void TestCreateFromConfigurationWithDefinedDirection()
        {
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create()
                                                                           .GeneratesSuccessorsWith(generator)
                                                                           .ClimbsInDirection(ClimberDirection.Maximize);

            Assert.IsNotNull(config);
            Assert.IsTrue(config.IsValid());
        }
Esempio n. 3
0
        public void TestCreateFromConfigurationWithCustomComparer()
        {
            IComparer <TestIntegerEvaluableState> comparer = new MinimizingComparer <TestIntegerEvaluableState>();
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create()
                                                                           .GeneratesSuccessorsWith(generator)
                                                                           .ComparesUsing(comparer);

            Assert.IsNotNull(config);
            Assert.IsTrue(config.IsValid());
        }
Esempio n. 4
0
        public void TestCreateFromConfigurationWithDefaults()
        {
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create()
                                                                           .GeneratesSuccessorsWith(generator);

            IComparer <TestIntegerEvaluableState> expectedComparer = new MaximizingComparer <TestIntegerEvaluableState>();

            Assert.IsNotNull(config);
            Assert.IsTrue(config.IsValid());
        }
Esempio n. 5
0
        public void TestRandomRestartHillClimberIncrementingRestartPoint()
        {
            comparer  = new MaximizingComparer <TestIntegerEvaluableState>();
            generator = new TestExponentialIntegerSuccessorGenerator();

            var climberConfiguration = new ClimberConfiguration <TestIntegerEvaluableState, int>()
                                       .ComparesUsing(comparer)
                                       .GeneratesSuccessorsWith((c) => generator.GetSuccessors(c));

            randomizer = new TestIntegerRandomizerSimulator();
            climber    = new RandomRestartHillClimber <TestIntegerEvaluableState, int>(5, randomizer, climberConfiguration);

            RunTest(climber, 1, 10000);
        }
Esempio n. 6
0
        public void TestRandomRestartHillClimberSameRestartPointEachTime()
        {
            comparer   = new MaximizingComparer <TestIntegerEvaluableState>();
            generator  = new TestLinearIntegerSuccessorGenerator();
            randomizer = new TestIntegerEvaluableStateNonRandomizer();

            var climberConfiguration = new ClimberConfiguration <TestIntegerEvaluableState, int>()
                                       .ComparesUsing(comparer)
                                       .GeneratesSuccessorsWith((c) => generator.GetSuccessors(c));

            randomizer = new TestIntegerEvaluableStateNonRandomizer();
            climber    = new RandomRestartHillClimber <TestIntegerEvaluableState, int>(5, randomizer, climberConfiguration);

            RunTest(climber, 2, 100);
        }
Esempio n. 7
0
        public void TestBuildCreatesClimberWhenValid()
        {
            IComparer <TestIntegerEvaluableState> comparer = new MinimizingComparer <TestIntegerEvaluableState>();
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create()
                                                                           .GeneratesSuccessorsWith(generator)
                                                                           .ComparesUsing(comparer);

            IHillClimber <TestIntegerEvaluableState, int> climber = null;

            try
            {
                climber = config.Build();
            }
            catch
            {
                Assert.Fail("Build threw an exception");
            }

            Assert.IsNotNull(climber);
        }
Esempio n. 8
0
        public void TestBuildThrowsCorrectExceptionWhenInvalid()
        {
            IComparer <TestIntegerEvaluableState> comparer = new MinimizingComparer <TestIntegerEvaluableState>();
            ClimberConfiguration <TestIntegerEvaluableState, int> config = ClimberConfiguration <TestIntegerEvaluableState, int> .Create();

            IHillClimber <TestIntegerEvaluableState, int> climber = null;

            bool caught = false;

            try
            {
                climber = config.Build();
            }
            catch (ConfigurationException)
            {
                caught = true;
            }

            Assert.IsTrue(caught);
            Assert.IsNull(climber);
        }