@Test
 public void testValidateSuccess() throws IOException {
   writeTo(environmentFile, environmentConfig);
   writeTo(databaseFile, workingDatabaseConfig);
   try {
     factory.validate(workingConfiguration);
   } catch (InvalidConfigurationException e) {
     assertTrue("This configuration is valid " + e.getMessage(), false);
   }
 }
 @Test
 public void testValidateFailWrongDatabaseEnvirnment() throws IOException {
   writeTo(environmentFile, invalidEnvironmentConfig);
   writeTo(databaseFile, workingDatabaseConfig);
   try {
     factory.validate(workingConfiguration);
     assertTrue("This configuration is invalid", false);
   } catch (Exception e) {
     assertTrue("This configuration is invalid " + e.getMessage(), true);
   }
 }
 @Test
 public void testValidateFailDatabaseConfigMissingField() throws IOException {
   writeTo(environmentFile, environmentConfig);
   writeTo(databaseFile, databaseConfigMissingField);
   try {
     factory.validate(workingConfiguration);
     assertTrue("This configuration is invalid", false);
   } catch (InvalidConfigurationException e) {
     assertTrue("This configuration is invalid " + e.getMessage(), true);
   }
 }
 @Test
 public void testValidateFailMissingConfigFile() throws IOException {
   writeTo(environmentFile, environmentConfig);
   writeTo(databaseFile, workingDatabaseConfig);
   try {
     factory.validate(configurationMissingFile);
     assertTrue("This configuration is invalid", false);
   } catch (Exception e) {
     assertTrue(
         "This configuration is invalid " + e.getMessage(),
         e.getCause() instanceof FileNotFoundException);
   }
 }