예제 #1
0
 public void TestCalcFitness_OneCharInCorrectPosition()
 {
     CodeBreaker cb = new CodeBreaker("ABCD", new Random());
     Chromosome c = new Chromosome("AXYZ");
     Utility.CalcFitness(c, "ABCD");
     Assert.AreEqual(1, c.Fitness);
 }
예제 #2
0
 public void TestCalcFitness_NoCommonChars()
 {
     CodeBreaker cb = new CodeBreaker("ABCD", new Random());
     Chromosome c = new Chromosome("WXYZ");
     Utility.CalcFitness(c, "ABCD");
     Assert.AreEqual(0, c.Fitness);
 }
예제 #3
0
 public void TestCalcFitness_AllCorrect()
 {
     CodeBreaker cb = new CodeBreaker("ABCD", new Random());
     Chromosome c = new Chromosome("ABCD");
     Utility.CalcFitness(c, "ABCD");
     Assert.AreEqual(4, c.Fitness);
 }
예제 #4
0
 public void TestCalcFitness_NoCharsInCorrectPositions()
 {
     CodeBreaker cb = new CodeBreaker("ABCD", new Random());
     Chromosome c = new Chromosome("DCBA");
     Utility.CalcFitness(c, "ABCD");
     Assert.AreEqual(0, c.Fitness);
 }
예제 #5
0
 static void Main(string[] args)
 {
     Random r = new Random();
     string codeToCrack = Utility.RandomString(Properties.chromoLength, Properties.availableChars, r);
     CodeBreaker cb = new CodeBreaker(codeToCrack, r);
     cb.DoAlgorithm();
 }