public void ChromosomeDETest() { var gi = new List <IGeneInfo>(); gi.Add(new DoubleRange("double1", 0, 7)); gi.Add(new DoubleRange("double2", 1, 7)); gi.Add(new DoubleRange("double3", -7, 0)); gi.Add(new DoubleRange("double4", -1, 60)); gi.Add(new StringRange("strRange1", "sr10", "sr11", "sr12")); gi.Add(new StringRange("strRange2", "sr20", "sr21")); gi.Add(new StringRange("strRange3", "sr30", "sr31", "sr32", "sr33")); cr1 = new ChromosomeDE(gi); cr1[0] = 1d; cr1["double2"] = 2d; cr1[2] = 0d; cr1[3] = -1d; cr1[4] = 0; cr1["strRange2"] = "sr21"; cr1["strRange3"] = 3; cr2 = cr1.CreateNew() as ChromosomeDE; cr3 = cr1.CreateNew() as ChromosomeDE; var crit1 = new CritInfo("fit1"); var crit2 = new CritInfo("fit2", CritExtremum.fe_min, null, 10d); var crit3 = new CritInfo("fit3"); cr1.AddCrit(crit1, crit2, crit3); cr1.Crits["fit1"].Value = 1; cr1.Crits["fit2"].Value = 2; cr1.Crits["fit3"].Value = 3; cr2.AddCrit(cr1); cr3.AddCrit(cr1, true); }
public void ParetoRelTest() { var cr1clone = cr1.Clone() as ChromosomeDE; Assert.IsTrue(ChromosomeDE.ParetoRel(cr1, cr1clone) == 0); cr1clone.Crits["fit1"].Value = 2; Assert.IsTrue(ChromosomeDE.ParetoRel(cr1, cr1clone) == -1); cr1clone.Crits["fit1"].Value = 0; Assert.IsTrue(ChromosomeDE.ParetoRel(cr1, cr1clone) == 1); cr1clone.Crits["fit2"].Value = 3; Assert.IsTrue(ChromosomeDE.ParetoRel(cr1, cr1clone) == 1); cr1clone.Crits["fit2"].Value = -3; Assert.IsTrue(ChromosomeDE.ParetoRel(cr1, cr1clone) == 0); }