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());
                }
            }
        }
Exemplo n.º 2
0
        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);
        }