package fitnesse;
import java.io.File;
import java.util.Properties;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
public class ConfigurationParameterTest {
@Test
public void shouldMakePropertiesWithConfigurationParametersAndValues() {
Properties properties = ConfigurationParameter.makeProperties(ConfigurationParameter.PORT, 8001,
ConfigurationParameter.ROOT_PATH, ".",
ConfigurationParameter.ROOT_DIRECTORY, "FitNesseRoot");
assertThat(properties.getProperty(ConfigurationParameter.PORT.getKey()), is("8001"));
assertThat(properties.getProperty(ConfigurationParameter.ROOT_PATH.getKey()), is("."));
assertThat(properties.getProperty(ConfigurationParameter.ROOT_DIRECTORY.getKey()), is("FitNesseRoot"));
}
@Test(expected = IllegalArgumentException.class)
public void shouldFailOnOddNumberOfArguments() {
ConfigurationParameter.makeProperties(ConfigurationParameter.PORT, 8001,
ConfigurationParameter.ROOT_PATH);
}
@Test
public void shouldAcceptStringArgumentsInsteadOfConfigurationParameters() {
Properties properties = ConfigurationParameter.makeProperties("Port", 8001);
assertThat(properties.getProperty("Port"), is("8001"));
}
@Test
public void shouldAcceptNuArguments() {
Properties properties = ConfigurationParameter.makeProperties();
assertThat(properties, is(notNullValue()));
}
@Test
public void canLoadPropertiesFromFile() {
Properties properties = ConfigurationParameter.loadProperties(new File("configuration-parameter-test.properties"));
assertThat(properties.getProperty("unitTestProperty"), is("found"));
}
}