@Test
public void testZip() throws IOException {

  File tmpFolder = Files.createTempDir();
  File file = File.createTempFile(".bla", ".tmp", tmpFolder);
  String testStr = "skjfghskjdhgfjgishfgksjhgjkhdskghsfdkjhg";
  File subFolder = new File(file.getParent(), "subFolder");
  if (!subFolder.mkdir()) {
    throw new IOException("Cannot create folder " + subFolder);
  }
  File subTestFile = new File(subFolder, "subTestFile.txt");
  Files.asCharSink(file, StandardCharsets.UTF_8).write(testStr);
  Files.asCharSink(subTestFile, StandardCharsets.UTF_8).write(testStr);
  Path zip = Compress.zip(tmpFolder.toPath());
  Assert.assertThat(zip.getFileName().toString(), Matchers.endsWith(".zip"));
  Assert.assertTrue(java.nio.file.Files.exists(zip));
  File tmpFir = Files.createTempDir();
  List<Path> unzip = Compress.unzip(zip, tmpFir.toPath());
  Assert.assertEquals(2, unzip.size());
  Assert.assertEquals(testStr, Files.asCharSource(unzip.get(0).toFile(), StandardCharsets.UTF_8).read());
  Assert.assertEquals(testStr, Files.asCharSource(unzip.get(1).toFile(), StandardCharsets.UTF_8).read());
}