@Test
public void parse_shouldParseGlobalProperty() throws IOException {
GlobalProperty gp1 = new GlobalProperty("report.deleteReportsAgeInHours", "72", "delete reports after hours");
GlobalProperty gp2 = new GlobalProperty("report.validateInput", "2", "to validate input",
RegexValidatedTextDatatype.class, "^\\d+$");
Document config = buildOnValidConfigXml()
.withGlobalProperty(gp1.getProperty(), gp1.getPropertyValue(), gp1.getDescription(), null, null)
.withGlobalProperty(gp2.getProperty(), gp2.getPropertyValue(), gp2.getDescription(), gp2.getDatatypeClassname(),
gp2.getDatatypeConfig())
.build();
Module module = parser.parse(writeConfigXmlToFile(config));
assertThat(module.getGlobalProperties().size(), is(2));
assertThat(module.getGlobalProperties().get(0).getProperty(), is(gp1.getProperty()));
assertThat(module.getGlobalProperties().get(0).getPropertyValue(), is(gp1.getPropertyValue()));
assertThat(module.getGlobalProperties().get(0).getDescription(), is(gp1.getDescription()));
assertThat(module.getGlobalProperties().get(0).getDatatypeClassname(), is(gp1.getDatatypeClassname()));
assertThat(module.getGlobalProperties().get(0).getDatatypeConfig(), is(gp1.getDatatypeConfig()));
assertThat(module.getGlobalProperties().get(1).getProperty(), is(gp2.getProperty()));
assertThat(module.getGlobalProperties().get(1).getPropertyValue(), is(gp2.getPropertyValue()));
assertThat(module.getGlobalProperties().get(1).getDescription(), is(gp2.getDescription()));
assertThat(module.getGlobalProperties().get(1).getDatatypeClassname(), is(gp2.getDatatypeClassname()));
assertThat(module.getGlobalProperties().get(1).getDatatypeConfig(), is(gp2.getDatatypeConfig()));
}