public void BinaryStringEntity_Clone() { TestBinaryStringEntity entity = GetEntity(); TestBinaryStringEntity clone = (TestBinaryStringEntity)entity.Clone(); CompareGeneticEntities(entity, clone); }
public void BinaryStringEntity_Indexer() { GeneticAlgorithm algorithm = GetAlgorithm(3); TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = 3, MaximumStartingLength = 3 }; entity.Initialize(algorithm); PrivateObject accessor = new PrivateObject(entity, new PrivateType(typeof(BinaryStringEntity))); BitArray genes = (BitArray)accessor.GetField("genes"); for (int i = 0; i < entity.Length; i++) { genes[i] = false; } entity[0] = true; Assert.True(genes[0]); Assert.False(genes[1]); Assert.False(genes[2]); Assert.True(entity[0]); entity[1] = true; Assert.True(genes[0]); Assert.True(genes[1]); Assert.False(genes[2]); Assert.True(entity[1]); entity[2] = true; Assert.True(genes[0]); Assert.True(genes[1]); Assert.True(genes[2]); Assert.True(entity[2]); }
public void BinaryStringEntity_UpdateStringRepresentation() { TestBinaryStringEntity entity = GetEntity(); PrivateObject accessor = new PrivateObject(entity); accessor.Invoke("UpdateStringRepresentation"); Assert.Equal("1010", entity.Representation); }
public void BinaryStringEntity_Initialize() { GeneticAlgorithm algorithm = GetAlgorithm(4); TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = 4, MaximumStartingLength = 4 }; RandomNumberService.Instance = new TestRandomUtil(); entity.Initialize(algorithm); Assert.Equal("1010", entity.Representation); }
public void BinaryStringEntity_CopyTo() { TestBinaryStringEntity entity = GetEntity(); TestBinaryStringEntity entity2 = new TestBinaryStringEntity(); entity2.Initialize(entity.Algorithm); entity.CopyTo(entity2); CompareGeneticEntities(entity, entity2); }
public void BinaryStringEntity_Ctor() { int size = 3; GeneticAlgorithm algorithm = GetAlgorithm(size); TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = size, MaximumStartingLength = size }; entity.Initialize(algorithm); PrivateObject accessor = new PrivateObject(entity, new PrivateType(typeof(BinaryStringEntity))); Assert.Equal(size, entity.Length); Assert.Equal(size, ((BitArray)accessor.GetField("genes")).Length); }
public void BinaryStringEntity_Length_SetToDifferentValue() { int length = 50; GeneticAlgorithm algorithm = GetAlgorithm(length); TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = length, MaximumStartingLength = length, IsFixedSize = true }; entity.Initialize(algorithm); Assert.Throws <ArgumentException>(() => entity.Length = 51); }
public void BinaryStringEntity_Length() { int length = 50; GeneticAlgorithm algorithm = GetAlgorithm(length); TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = length, MaximumStartingLength = length }; entity.Initialize(algorithm); Assert.Equal(length, entity.Length); entity.Length = length; Assert.Equal(length, entity.Length); }
private static void CompareGeneticEntities(TestBinaryStringEntity expectedEntity, TestBinaryStringEntity actualEntity) { PrivateObject accessor = new PrivateObject(expectedEntity, new PrivateType(typeof(GeneticEntity))); PrivateObject actualEntityAccessor = new PrivateObject(actualEntity, new PrivateType(typeof(GeneticEntity))); Assert.NotSame(expectedEntity, actualEntity); Assert.Equal(expectedEntity.Representation, actualEntity.Representation); Assert.Equal(expectedEntity[0], actualEntity[0]); Assert.Equal(expectedEntity[1], actualEntity[1]); Assert.Equal(expectedEntity[2], actualEntity[2]); Assert.Equal(expectedEntity[3], actualEntity[3]); Assert.Same(accessor.GetProperty("Algorithm"), actualEntityAccessor.GetProperty("Algorithm")); Assert.Equal(expectedEntity.Age, actualEntity.Age); Assert.Equal(accessor.GetField("rawFitnessValue"), actualEntityAccessor.GetField("rawFitnessValue")); Assert.Equal(expectedEntity.ScaledFitnessValue, actualEntity.ScaledFitnessValue); }
private static TestBinaryStringEntity GetEntity() { GeneticAlgorithm algorithm = GetAlgorithm(4); TestBinaryStringEntity entity = (TestBinaryStringEntity)algorithm.GeneticEntitySeed.CreateNewAndInitialize(); entity[0] = true; entity[1] = false; entity[2] = true; entity[3] = false; PrivateObject accessor = new PrivateObject(entity, new PrivateType(typeof(GeneticEntity))); accessor.SetProperty("Age", 3); accessor.SetField("rawFitnessValue", 1); entity.ScaledFitnessValue = 2; return(entity); }
public void BinaryStringEntity_Genes() { TestBinaryStringEntity entity = new TestBinaryStringEntity { MinimumStartingLength = 2, MaximumStartingLength = 2 }; entity.Initialize(new MockGeneticAlgorithm()); BitArray bits = entity.GetGenes(); Assert.Equal(entity.Length, bits.Length); for (int i = 0; i < bits.Length; i++) { Assert.Equal(entity[i], bits[i]); } }
public void BinaryStringEntity_CopyTo_NullEntity() { TestBinaryStringEntity entity = GetEntity(); Assert.Throws <ArgumentNullException>(() => entity.CopyTo(null)); }