@Test
public void testExtractZipArchive() throws Exception {

	// Prepare the original ZIP
	File zipFile = this.folder.newFile( "roboconf_test.zip" );
	Map<String,String> entryToContent = TestUtils.buildZipContent();
	TestUtils.createZipFile( entryToContent, zipFile );
	TestUtils.compareZipContent( zipFile, entryToContent );
	// Prepare the output directory
	File existingDirectory = this.folder.newFolder( "roboconf_test" );
	Assert.assertTrue( existingDirectory.exists());
	Assert.assertEquals( 0, Utils.listAllFiles( existingDirectory ).size());
	// Extract
	Utils.extractZipArchive( zipFile, existingDirectory );
	// And compare
	Assert.assertNotSame( 0, Utils.listAllFiles( existingDirectory ).size());
	Map<String,String> fileToContent = Utils.storeDirectoryResourcesAsString( existingDirectory );
	for( Map.Entry<String,String> entry : fileToContent.entrySet()) {
		Assert.assertTrue( entryToContent.containsKey( entry.getKey()));
		String value = entryToContent.remove( entry.getKey());
		Assert.assertEquals( entry.getValue(), value );
	}
	// Only directories should remain
	for( Map.Entry<String,String> entry : entryToContent.entrySet()) {
		Assert.assertNull( entry.getKey(), entry.getValue());
	}
}