Implement custom matcher for comparing BufferedImages
parent
188894f9d9
commit
f8f0f63302
@ -0,0 +1,47 @@
|
||||
package me.goudham;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import org.hamcrest.Description;
|
||||
import org.hamcrest.Matcher;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class BufferedImageMatcher implements Matcher<BufferedImage> {
|
||||
|
||||
private final BufferedImage expected;
|
||||
|
||||
public BufferedImageMatcher(BufferedImage expected) {
|
||||
this.expected = expected;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(Object argument) {
|
||||
BufferedImage actual = (BufferedImage) argument;
|
||||
|
||||
assertEquals(expected.getWidth(), actual.getWidth());
|
||||
assertEquals(expected.getHeight(), actual.getHeight());
|
||||
|
||||
for (int x = 0; x < actual.getWidth(); x++) {
|
||||
for (int y = 0; y < actual.getHeight(); y++) {
|
||||
assertEquals(expected.getRGB(x, y), actual.getRGB(x, y));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void describeMismatch(Object o, Description description) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void _dont_implement_Matcher___instead_extend_BaseMatcher_() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void describeTo(Description description) {
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue