private void CompareScoreMethods(VectorPicture vectorPicture, PolygonChanged mutation)
 {
     foreach (var image in testImages)
     {
         CompareScoreMethods(vectorPicture, mutation, image);
     }
 }
        public void ScoreMethodsAreEquivalentLeftMidPolygon()
        {
            var vectorPicture = new VectorPicture();

            vectorPicture.Polygons.Add(LeftPolygon());
            var mutation = new PolygonChanged(MidPolygon(), 0);

            CompareScoreMethods(vectorPicture, mutation, Properties.Resources.whiteRectangle);
        }
 public void ScoreMethodsAreEquivalentWeak()
 {
     foreach (var polygon in testPolygons)
     {
         var vectorPicture = new VectorPicture();
         vectorPicture.Polygons.Add(polygon);
         var mutation = new PolygonChanged(polygon, 0);
         CompareScoreMethods(vectorPicture, mutation);
     }
 }
 public void ScoreMethodsAreEquivalent()
 {
     foreach (var polygonPair in testPolygons.ShakeHands())
     {
         var vectorPicture = new VectorPicture();
         vectorPicture.Polygons.Add(polygonPair.Item1);
         var mutation = new PolygonChanged(polygonPair.Item2, 0);
         CompareScoreMethods(vectorPicture, mutation);
     }
 }
        private void CompareScoreMethods(VectorPicture vectorPicture, PolygonChanged mutation, Bitmap image)
        {
            var algorithm = new TestAlgorithm(image, vectorPicture, PictureMutationAlgorithm.ScoringMethodEnum.FullEvaluationScoring);
            var scores    = new List <double>(scorers.Length);

            foreach (var scorer in scorers.Select(sf => sf(algorithm)))
            {
                algorithm.SetInitial();
                scorer.FoundBetter(vectorPicture);
                scores.Add(scorer.GetError(mutation));
            }
            Assert.IsTrue(scores.Distinct().Count() == 1);
        }
 public void ErrorDataFakeChangePolygonHasNoEffect()
 {
     foreach (var polygon in testPolygons)
     {
         var vectorPicture = new VectorPicture();
         vectorPicture.Polygons.Add(polygon);
         var mutation       = new PolygonChanged(polygon, 0);
         var noMutation     = new EmptyMutation();
         var testAlgorithms = testImages.Select(image => new TestAlgorithm(image, vectorPicture, PictureMutationAlgorithm.ScoringMethodEnum.FullEvaluationScoring));
         foreach (var scorer1 in testAlgorithms.Select(algorithm => new ErrorDataScoring(algorithm.SourceData)))
         {
             scorer1.FoundBetter(vectorPicture);
             Assert.AreEqual(scorer1.GetError(noMutation), scorer1.GetError(mutation));
         }
     }
 }
        public void ScoreMethodsAreEquivalentCase2()
        {
            var polygon = new Polygon(Color.White);

            polygon.AddPoint(5, 7);
            polygon.AddPoint(10, 5);
            polygon.AddPoint(7, 15);
            var picture = new VectorPicture();

            picture.Polygons.Add(polygon);
            var mutationPolygon = new Polygon(Color.White);

            mutationPolygon.AddPoint(6, 0);
            mutationPolygon.AddPoint(5, 0);
            mutationPolygon.AddPoint(19, 18);
            mutationPolygon.AddPoint(18, 1);
            var mutation = new PolygonChanged(mutationPolygon, 0);

            CompareScoreMethods(picture, mutation, Resources.Polygon);
        }
        public void ScoreMethodsAreEquivalentCase1()
        {
            var polygon = new Polygon(Color.White);

            polygon.AddPoint(8, 13);
            polygon.AddPoint(7, 1);
            polygon.AddPoint(11, 14);
            var picture = new VectorPicture();

            picture.Polygons.Add(polygon);
            var mutationPolygon = new Polygon(Color.White);

            mutationPolygon.AddPoint(1, 4);
            mutationPolygon.AddPoint(13, 0);
            mutationPolygon.AddPoint(17, 15);
            mutationPolygon.AddPoint(2, 10);
            var mutation = new PolygonChanged(mutationPolygon, 0);

            CompareScoreMethods(picture, mutation, Resources.Polygon);
        }