コード例 #1
0
        public void GivenNoIndividuals_WhenTheRandomSelectionStrategyIsUsed_ItShouldReturnNull()
        {
            Mock <Random> mock = new Mock <Random>();

            mock.Setup(x => x.Next(It.IsAny <int>())).Returns(0);
            Random mockedRandom = mock.Object;

            RandomGenerator.GetInstance().SetRandom(mockedRandom);

            RandomSelectionStrategy selectionStrategy = new RandomSelectionStrategy();

            Assert.That(() => selectionStrategy.Select(new List <Individual>()),
                        Throws.TypeOf <NoValidIndividualsException>());
        }
コード例 #2
0
        public void GivenFourIndividuals_WhenTheRandomIndexIsThatOfTheFirstIndividual_ItShouldReturnTheFirstIndividual()
        {
            Individual individual1 = new Individual(null, new Configuration())
            {
                Fitness = 2.5555
            };

            Individual individual2 = new Individual(null, new Configuration())
            {
                Fitness = 1.234
            };

            Individual individual3 = new Individual(null, new Configuration())
            {
                Fitness = 1.234
            };

            Individual individual4 = new Individual(null, new Configuration())
            {
                Fitness = 1.234
            };

            Mock <Random> mock = new Mock <Random>();

            mock.Setup(x => x.Next(It.IsAny <int>())).Returns(0);
            Random mockedRandom = mock.Object;

            RandomGenerator.GetInstance().SetRandom(mockedRandom);

            RandomSelectionStrategy selectionStrategy = new RandomSelectionStrategy();

            Individual result = selectionStrategy.Select(new List <Individual>
            {
                individual1, individual2, individual3, individual4
            });

            Assert.AreEqual(individual1, result);
        }