public Guid Process(Bitmap left, Bitmap right, int threshold) { if (left == null) { throw new ArgumentNullException(nameof(left)); } if (right == null) { throw new ArgumentNullException(nameof(right)); } _painter.DrawDifferences(left, _comparer.GetDifferences(left, right, threshold)); return(_imageStorage.Create(new BitmapAndLock(left, new object()))); }
public void SaveAndLoad_ImageIsNotNull_ImageReturned() { var result = _imageStorage.Read(_imageStorage.Create(new BitmapAndLock(_image, _lockObject))); Assert.NotNull(result); Assert.AreEqual(_image.Size, result.Bitmap.Size); for (var xIndex = 0; xIndex < _image.Width; xIndex++) { for (var yIndex = 0; yIndex < _image.Height; yIndex++) { Assert.AreEqual(_image.GetPixel(xIndex, yIndex).ToArgb(), result.Bitmap.GetPixel(xIndex, yIndex).ToArgb()); } } }