public void ConvertMazeToImage_SuperSimpleMazeRoundTrip_AllPixelColorsAndPositionsMatch() { const string mazeImageFilePath = @"..\..\..\TestingMazes\SuperSimpleMaze.png"; const bool useEmbeddedColorManagement = true; var originalImage = Image.FromFile(mazeImageFilePath, useEmbeddedColorManagement); var maze = MazeConverter.ConvertImageToMaze(originalImage); var newImage = MazeConverter.ConvertMazeToImage(maze); var mazeHeight = originalImage.Height; var mazeWidth = originalImage.Width; var originalBitmap = new Bitmap(originalImage); var newBitmap = new Bitmap(newImage); for (var x = 0; x < mazeWidth; x++) { for (var y = 0; y < mazeHeight; y++) { var originalPixelColor = originalBitmap.GetPixel(x, y); var newPixelColor = newBitmap.GetPixel(x, y); Assert.AreEqual(originalPixelColor.ToArgb(), newPixelColor.ToArgb()); } } }
public void OnMazeRedrawn(object sender, MazeRedrawnEventArgs e) { _mazeImage = MazeConverter.ConvertMazeToImage(e.MazeToBeRedrawn); var mazeImageBitmap = new Bitmap(_mazeImage); var mazeImageBitmapSource = BitmapToBitmapSource(mazeImageBitmap); _viewModel.MazeImageBitmapSource = mazeImageBitmapSource; }
public void ConvertMazeToImage_SuperSimpleMaze_MazeGridpointsMatchHeightTimesWidth() { const string mazeImageFilePath = @"..\..\..\TestingMazes\SuperSimpleMaze.png"; const bool useEmbeddedColorManagement = true; var originalImage = Image.FromFile(mazeImageFilePath, useEmbeddedColorManagement); var maze = MazeConverter.ConvertImageToMaze(originalImage); var newImage = MazeConverter.ConvertMazeToImage(maze); var mazeHeight = newImage.Height; var mazeWidth = newImage.Width; Assert.AreEqual(maze.MazeGridpoints.Count, mazeHeight * mazeWidth); }