@@ -93,6 +93,18 @@ public void ShouldVerifyThatImagesWithDifferentSizeAreEqual(string pathActual, s
9393
9494 Assert . That ( ImageSharpCompare . ImagesAreEqual ( absolutePathActual , absolutePathExpected , resizeOption ) , Is . EqualTo ( expectedResult ) ) ;
9595 }
96+ [ Test ]
97+ [ TestCase ( colorShift1 , colorShift2 , ResizeOption . DontResize , 0 , false ) ]
98+ [ TestCase ( colorShift1 , colorShift2 , ResizeOption . Resize , 0 , false ) ]
99+ [ TestCase ( colorShift1 , colorShift2 , ResizeOption . DontResize , 15 , true ) ]
100+ [ TestCase ( colorShift1 , colorShift2 , ResizeOption . Resize , 15 , true ) ]
101+ public void ShouldVerifyThatImagesWithColorShift ( string pathActual , string pathExpected , ResizeOption resizeOption , int expectedColorShift , bool expectedResult )
102+ {
103+ var absolutePathActual = Path . Combine ( AppContext . BaseDirectory , pathActual ) ;
104+ var absolutePathExpected = Path . Combine ( AppContext . BaseDirectory , pathExpected ) ;
105+
106+ Assert . That ( ImageSharpCompare . ImagesAreEqual ( absolutePathActual , absolutePathExpected , resizeOption , expectedColorShift ) , Is . EqualTo ( expectedResult ) ) ;
107+ }
96108
97109 [ Test ]
98110 [ TestCase ( jpg0Rgb24 , jpg0Rgb24 ) ]
@@ -157,7 +169,6 @@ public void ShouldVerifyThatImageSharpImagesAreEqualBgra5551(string pathActual,
157169 }
158170
159171 [ Test ]
160- [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , null , 0 ) ]
161172 [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , ResizeOption . DontResize , 0 ) ]
162173 [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , ResizeOption . Resize , 0 ) ]
163174 [ TestCase ( jpg1Rgb24 , png1Rgba32 , 382669 , 2.3673566603152607d , 140893 , 87.162530004206772d , ResizeOption . DontResize , 0 ) ]
@@ -204,7 +215,6 @@ public void ShouldVerifyThatCalcDiffThrowsOnDifferentImageSizes(string pathPic1,
204215 }
205216
206217 [ Test ]
207- [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , null ) ]
208218 [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , ResizeOption . DontResize ) ]
209219 [ TestCase ( jpg0Rgb24 , png0Rgba32 , 384538 , 2.3789191061839596d , 140855 , 87.139021553537404d , ResizeOption . Resize ) ]
210220 [ TestCase ( jpg1Rgb24 , png1Rgba32 , 382669 , 2.3673566603152607d , 140893 , 87.162530004206772d , ResizeOption . DontResize ) ]
@@ -230,26 +240,32 @@ public void ShouldVerifyThatImageStreamsAreSemiEqual(string pathPic1, string pat
230240 Assert . That ( diff . PixelErrorPercentage , Is . EqualTo ( expectedPixelErrorPercentage ) , "PixelErrorPercentage" ) ;
231241 }
232242
233- [ TestCase ( png0Rgba32 , png1Rgba32 , 0 , 0 , 0 , 0 , null ) ]
234- [ TestCase ( png0Rgba32 , png1Rgba32 , 0 , 0 , 0 , 0 , ResizeOption . DontResize ) ]
235- [ TestCase ( png0Rgba32 , png1Rgba32 , 0 , 0 , 0 , 0 , ResizeOption . Resize ) ]
236- [ TestCase ( pngWhite2x2px , pngBlack4x4px , 0 , 0 , 0 , 0 , ResizeOption . Resize ) ]
237- [ TestCase ( pngBlack4x4px , pngWhite2x2px , 0 , 0 , 0 , 0 , ResizeOption . Resize ) ]
238- [ TestCase ( renderedForm1 , renderedForm2 , 0 , 0 , 0 , 0 , ResizeOption . Resize ) ]
239- [ TestCase ( renderedForm2 , renderedForm1 , 0 , 0 , 0 , 0 , ResizeOption . Resize ) ]
240- public void CalcDiffMaskImage ( string pathPic1 , string pathPic2 , double expectedMeanError , int expectedAbsoluteError , int expectedPixelErrorCount , double expectedPixelErrorPercentage , ResizeOption resizeOption )
243+ [ TestCase ( png0Rgba32 , png1Rgba32 , 0 , 0 , 0 , 0 , ResizeOption . DontResize , 0 , false ) ]
244+ [ TestCase ( png0Rgba32 , png1Rgba32 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 0 , false ) ]
245+ [ TestCase ( pngWhite2x2px , pngBlack4x4px , 0 , 0 , 0 , 0 , ResizeOption . Resize , 0 , false ) ]
246+ [ TestCase ( pngBlack4x4px , pngWhite2x2px , 0 , 0 , 0 , 0 , ResizeOption . Resize , 0 , false ) ]
247+ [ TestCase ( renderedForm1 , renderedForm2 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 0 , false ) ]
248+ [ TestCase ( renderedForm2 , renderedForm1 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 0 , false ) ]
249+ [ TestCase ( colorShift1 , colorShift1 , 0 , 0 , 0 , 0 , ResizeOption . DontResize , 15 , true ) ]
250+ [ TestCase ( colorShift1 , colorShift1 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 15 , true ) ]
251+ [ TestCase ( colorShift1 , colorShift2 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 15 , true ) ]
252+ [ TestCase ( colorShift1 , colorShift2 , 0 , 0 , 0 , 0 , ResizeOption . DontResize , 15 , true ) ]
253+ [ TestCase ( colorShift1 , colorShift2 , 0 , 0 , 0 , 0 , ResizeOption . Resize , 14 , false ) ]
254+ [ TestCase ( colorShift1 , colorShift2 , 0 , 0 , 0 , 0 , ResizeOption . DontResize , 14 , false ) ]
255+ public void CalcDiffMaskImage ( string pathPic1 , string pathPic2 , double expectedMeanError , int expectedAbsoluteError , int expectedPixelErrorCount , double expectedPixelErrorPercentage , ResizeOption resizeOption , int expectedColorShift , bool expectMaskToBeBlack )
241256 {
242257 var absolutePathPic1 = Path . Combine ( AppContext . BaseDirectory , pathPic1 ) ;
243258 var absolutePathPic2 = Path . Combine ( AppContext . BaseDirectory , pathPic2 ) ;
244259 var differenceMask = Path . GetTempFileName ( ) + "differenceMask.png" ;
245260
246261 using ( var fileStreamDifferenceMask = File . Create ( differenceMask ) )
247- using ( var maskImage = ImageSharpCompare . CalcDiffMaskImage ( absolutePathPic1 , absolutePathPic2 , resizeOption ) )
262+ using ( var maskImage = ImageSharpCompare . CalcDiffMaskImage ( absolutePathPic1 , absolutePathPic2 , resizeOption , expectedColorShift ) )
248263 {
249264 ImageExtensions . SaveAsPng ( maskImage , fileStreamDifferenceMask ) ;
265+ Assert . That ( IsImageEntirelyBlack ( maskImage ) , Is . EqualTo ( expectMaskToBeBlack ) ) ;
250266 }
251267
252- var maskedDiff = ImageSharpCompare . CalcDiff ( absolutePathPic1 , absolutePathPic2 , differenceMask , resizeOption ) ;
268+ var maskedDiff = ImageSharpCompare . CalcDiff ( absolutePathPic1 , absolutePathPic2 , differenceMask , resizeOption , expectedColorShift ) ;
253269 File . Delete ( differenceMask ) ;
254270
255271 Assert . That ( maskedDiff . AbsoluteError , Is . EqualTo ( expectedAbsoluteError ) , "AbsoluteError" ) ;
0 commit comments