public void FlipGene_Index_ValueFlip()
        {
            RandomizationProvider.Current = Substitute.For <IRandomization>();
            RandomizationProvider.Current.GetDouble(0, 0).Returns(0);
            var target = new FloatingPointChromosome(0, 0, 2);

            target.FlipGene(0);
            Assert.AreEqual("10000000000000000000000000000000", target.ToString());

            target.FlipGene(1);
            Assert.AreEqual("11000000000000000000000000000000", target.ToString());

            target.FlipGene(31);
            Assert.AreEqual("11000000000000000000000000000001", target.ToString());

            target.FlipGene(30);
            Assert.AreEqual("11000000000000000000000000000011", target.ToString());
        }
        public void FloatingPoint()
        {
            var target = new FloatingPointChromosome(0, 10, 0);

            target.Clone();
            target.CompareTo(new FloatingPointChromosome(0, 10, 0));
            target.CreateNew();
            var x = target.Fitness;

            target.FlipGene(0);
            target.GenerateGene(0);
            target.GetGene(0);
            target.GetGenes();
            target.GetHashCode();
            var y = target.Length;

            target.ReplaceGene(0, new Gene(1d));
            target.ReplaceGenes(0, new Gene[] { new Gene(1), new Gene(0) });
            target.Resize(20);
            target.ToFloatingPoint();
            target.ToString();
        }
示例#3
0
        public void ToFloatingPoint_NegativeValue_Double()
        {
            RandomizationProvider.Current = Substitute.For <IRandomization>();
            RandomizationProvider.Current.GetDouble(-2.5, 0.5).Returns(-1.1);

            var target = new FloatingPointChromosome(-2.5, 0.5, 64, 2);

            Assert.AreEqual("1111111111111111111111111111111111111111111111111111111110010010", target.ToString());

            var actual = target.ToFloatingPoint();

            Assert.AreEqual(-1.1, actual);
        }