public Tester(int length, int width)
        {
            GardenEvaluator ge = new GardenEvaluator();

            this.width  = width;
            this.length = length;
            testGarden  = new Garden(length, width);
            fillWithGravel();
            addResident(new Rock(2, 2), new Point(10, 12), false);
            addResident(new Rock(2, 2), new Point(1, 12), false);
            addResident(new Rock(2, 2), new Point(16, 12), false);
            fillWithGravel();
            //addResident(new Rock(10, 10), new Point(3, 4), true);
            fillWithGravel();
            //should be the only rock that is in the garden
            //removeResident(new Point(3, 5));
            fillWithGravel();
            List <Point> starts = new List <Point>();
            List <Point> ends   = new List <Point>();

            starts.Add(new Point(0, 0));
            starts.Add(new Point(0, 1));
            ends.Add(new Point(4, 4));
            ends.Add(new Point(4, 5));
            addRiver(starts, ends);
            double score = ge.scoreGarden(testGarden);

            Console.WriteLine(ge.scoreGarden(testGarden));
            List <int[]> combos = new List <int[]>();

            GardenEvaluator.combinations(ref combos, 0, 0, 3, 5, new int[3]);
            Garden best = geneticSelection(testGarden, 20, 3, 20);

            Console.WriteLine(ge.scoreGarden(best));
            Console.WriteLine(best.ToString());
            best.addStreamAStar(new Point(12, 2), new Point(2, 19));
            //Console.ReadLine();
        }
 public override string ToString()
 {
     return(testGarden.ToString());
 }