public void LocateTheBestAproximateMatchForGivenRootPixelGivesTheExpectedBestMatch() { _gz2DlzEncoderFacade.InputFilePath = One3X4MatchBlockBmpPath; _gz2DlzEncoderFacade.AbstractPredictor = new ABasedPredictor(); _gz2DlzEncoderFacade.ImageReader = _bmpReader; _gz2DlzEncoderFacade.Archiver = new Paq6V2Archiver(); _encoder = new Gz2DlzEncoder(_gz2DlzEncoderFacade); var originalImage = _encoder.WorkImage; var width = originalImage.GetLength(0); for (int i = 0; i < width; i++) { _encoder.IsPixelEncoded[0, i] = true; _encoder.IsPixelEncoded[1, i] = true; _encoder.IsPixelEncoded[2, i] = true; _encoder.IsPixelEncoded[3, i] = true; _encoder.IsPixelEncoded[4, i] = true; } for (int i = 0; i < 5; i++) { _encoder.IsPixelEncoded[0, i] = true; } var encoderPosition = new PixelLocation(5, 5); var rootPosition = new PixelLocation(1, 1); BestMatch bestMatch = _encoder.LocateTheBestAproximateMatchForGivenRootPixel(encoderPosition, rootPosition); Assert.AreEqual(4, bestMatch.Height); Assert.AreEqual(4, bestMatch.Width); Assert.AreEqual(16, bestMatch.Size); }