Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import java.io.*;
  2. import javafx.embed.swing.SwingFXUtils;
  3. import javafx.scene.Node;
  4. import javafx.scene.image.WritableImage;
  5. import javax.imageio.ImageIO;
  6. import org.jpedal.PdfDecoderFX;
  7.  
  8. import static org.junit.Assert.*;
  9.  
  10. public class BaseClassJavaFX {
  11.  
  12.     protected String outputFolder = "";
  13.     protected String inputFolder = "";
  14.     protected String baselineFolder = "";
  15.  
  16.     public BaseClassJavaFX() {
  17.     }
  18.  
  19.     public void testFiles() {
  20.  
  21.         try {
  22.  
  23.             /**
  24.              * open all files
  25.              */
  26.             File filesToTest = new File(inputFolder);
  27.  
  28.             String[] fileList = filesToTest.list();
  29.  
  30.             //check we have some files
  31.             if (fileList == null) {
  32.                 fail("No files in " + inputFolder);
  33.             }
  34.  
  35.             for (String fileName : fileList) {
  36.                 test(fileName);
  37.             }
  38.  
  39.             //Compare all output and check for changes
  40.             if (compareImages(outputFolder, baselineFolder)) {
  41.                 fail("Current output does not match baseline.");
  42.             }
  43.  
  44.         } catch (Exception e) {
  45.             e.printStackTrace();
  46.             fail(e.toString());
  47.         }
  48.     }
  49.  
  50.     public void getScreenshot(Node node, String filename) {
  51.         WritableImage img = node.getScene().snapshot(new WritableImage((int) ((PdfDecoderFX) node).getScene().getWidth(),
  52.                                     (int) ((PdfDecoderFX) node).getScene().getHeight()));
  53.         File file = new File(filename);
  54.  
  55.         try {
  56.             ImageIO.write(SwingFXUtils.fromFXImage(img, null), "png", file);
  57.         } catch (Exception s) {
  58.         }
  59.     }
  60.  
  61.     private boolean compareImages(String output, String baseline) {
  62.         /*
  63.         ADD CODE TO GET FILES FROM FOLDER NAMES AND COMPARE THEM
  64.         */
  65.         return false;
  66.     }
  67.  
  68.     public void test(String testFile) {
  69.         //Do nothing for generic test
  70.     }
  71.  
  72. }