public void CloneTest1() { BitmapCloner target = new BitmapCloner(); var width = 2; var height = 2; using (var bitmap = new Bitmap(width, height)) { long distance = long.MaxValue; var actual = target.Clone(bitmap, distance, 1); Assert.IsTrue(actual.Vectors.Any()); } }
public void CloneTest2() { BitmapCloner target = new BitmapCloner(); var width = 2; var height = 2; using (var bitmap = new Bitmap(width, height)) { long expectedDistance = 0L; var actual = target.Clone(bitmap, expectedDistance, 1); var actualDistance = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap); Assert.IsTrue(actualDistance <= expectedDistance); } }
public void CloneTest3() { BitmapCloner target = new BitmapCloner(); var width = 2; var height = 2; using (var bitmap = new Bitmap(width, height)) { using (var graphics = Graphics.FromImage(bitmap)) { graphics.DrawLine(Pens.Orange, new Point(0, 0), new Point(1, 1)); } long expectedDistance = 512; var actual = target.Clone(bitmap, expectedDistance, 1); var actualDistance = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap); Assert.IsTrue(actualDistance <= expectedDistance); } }
public void CloneTest5() { BitmapCloner target = new BitmapCloner(); var fileName = Path.Combine(testContextInstance.TestDeploymentDir, "smile.png"); using (var bitmap = new Bitmap(fileName)) { long expectedDistance = 1024 * 32; var stopwatch = Stopwatch.StartNew(); var actual = target.Clone(bitmap, expectedDistance, 2); stopwatch.Stop(); var actualDistance = VectorDrawingGenetics.Instance.CalculateFitness(actual, bitmap); Assert.IsTrue(actualDistance <= expectedDistance); using (var cloneBitmap = new Bitmap(bitmap.Width, bitmap.Height)) { using (var graphics = Graphics.FromImage(cloneBitmap)) { GraphicsExtensions.RasterizeVectorDrawing(graphics, actual); } cloneBitmap.Save("smile.bmp", ImageFormat.Bmp); } } }