+ @Test
+ public void testIanaTimezones() {
+ Module tested = TestUtils.findModule(testedModules, "iana-timezones");
+ Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
+ TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs,
+ "iana-timezone");
+
+ String expectedDesc = "A timezone location as defined by the IANA timezone\n database (http://www.iana.org/time-zones)";
+ assertEquals(expectedDesc, testedType.getDescription());
+ assertNull(testedType.getReference());
+ assertEquals(Status.CURRENT, testedType.getStatus());
+
+ QName testedTypeQName = testedType.getQName();
+ assertEquals(URI.create("urn:ietf:params:xml:ns:yang:iana-timezones"),
+ testedTypeQName.getNamespace());
+ assertEquals(TestUtils.createDate("2012-07-09"),
+ testedTypeQName.getRevision());
+ assertEquals("ianatz", testedTypeQName.getPrefix());
+ assertEquals("iana-timezone", testedTypeQName.getLocalName());
+
+ EnumerationType enumType = (EnumerationType) testedType.getBaseType();
+ List<EnumPair> values = enumType.getValues();
+ assertEquals(415, values.size()); // 0-414
+
+ EnumPair enum168 = values.get(168);
+ assertEquals("America/Danmarkshavn", enum168.getName());
+ assertEquals(168, (int) enum168.getValue());
+ assertEquals("east coast, north of Scoresbysund",
+ enum168.getDescription());
+
+ EnumPair enum374 = values.get(374);
+ assertEquals("America/Indiana/Winamac", enum374.getName());
+ assertEquals(374, (int) enum374.getValue());
+ assertEquals("Eastern Time - Indiana - Pulaski County",
+ enum374.getDescription());