@Test public void shouldHandleOptionalBooleanEnumType() throws Exception { final String nullValueStr = "255"; final String testXmlString = "<types>" + "<enum name=\"optionalBoolean\" encodingType=\"uint8\" presence=\"optional\"" + " nullValue=\"" + nullValueStr + "\" semanticType=\"Boolean\">" + " <validValue name=\"False\">0</validValue>" + " <validValue name=\"True\">1</validValue>" + "</enum>" + "</types>"; final Map<String, Type> map = parseTestXmlWithMap("/types/enum", testXmlString); final EnumType e = (EnumType)map.get("optionalBoolean"); assertThat(e.name(), is("optionalBoolean")); assertThat(e.encodingType(), is(PrimitiveType.UINT8)); assertThat(e.validValues().size(), is(2)); assertThat(e.getValidValue("True").primitiveValue(), is(PrimitiveValue.parse("1", PrimitiveType.UINT8))); assertThat(e.getValidValue("False").primitiveValue(), is(PrimitiveValue.parse("0", PrimitiveType.UINT8))); assertThat(e.nullValue(), is(PrimitiveValue.parse(nullValueStr, PrimitiveType.UINT8))); }