@Test
  public void load() throws Exception {

    PgmLoader pgmLoader = new PgmLoader(testFileFolder + file);

    DataHolder dataHolder = pgmLoader.loadFile();
    assertEquals(pgmLoader.getHeaderValue("MagicNumber"), "P5");
    assertEquals(pgmLoader.getHeaderValue("Width"), "1024");
    assertEquals(pgmLoader.getHeaderValue("Height"), "1024");
    assertEquals(pgmLoader.getHeaderValue("Maxval"), "65535");

    Dataset data = dataHolder.getDataset("Portable Grey Map");
    // Check the first data point
    assertEquals(data.getDouble(0, 0), 0.0, 0.0);
    // Check the middle data point
    assertEquals(data.getDouble(512, 511), 15104.0, 0.0);
    // Check the last data point
    assertEquals(data.getDouble(1023, 1023), 0.0, 0.0);
  }
  @Test
  public void testSaveFile() throws ScanFileHolderException {
    Dataset a = DatasetFactory.createRange(128 * 128, Dataset.FLOAT32).reshape(128, 128);
    DataHolder d = new DataHolder();
    a.idivide(10000);
    d.addDataset("a", a);

    String oname = testScratchDirectoryName + "a.tif";
    TIFFImageSaver s;
    DataHolder in;

    s = new TIFFImageSaver(oname, true);
    s.saveFile(d);

    in = new TIFFImageLoader(oname).loadFile();
    checkDataset(a, in.getDataset(0));

    s = new TIFFImageSaver(oname);
    s.saveFile(d);

    in = new TIFFImageLoader(oname).loadFile();
    checkDataset(a.cast(Dataset.INT32), in.getDataset(0));
  }