package de.ralfebert.imageassert.compare.swing;
import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.logging.Logger;
import org.apache.commons.io.IOUtils;
import de.ralfebert.imageassert.compare.ICompareResultHandler;
import de.ralfebert.imageassert.compare.Page;
public class SwingCompareResultHandler implements ICompareResultHandler {
private static final Logger log = Logger.getLogger(SwingCompareResultHandler.class.getName());
public void onImageNotEqual(final Page expected, final Page actual) {
ImageCompareDialog imageCompareDialog = new ImageCompareDialog(expected.getImage(),
actual.getImage()) {
@Override
protected void onApply(File saveToFile) {
try {
FileOutputStream out = new FileOutputStream(saveToFile);
IOUtils.copy(new FileInputStream(actual.getPdfFile()), out);
out.close();
log.info("Wrote PDF to " + saveToFile.getAbsolutePath());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
protected void onReject() {
fail("Expected: " + expected.getName());
}
};
imageCompareDialog.open();
}
}