public void TestEnumTypeResolving() { var inspector = new ModelInspector(); inspector.ImportEnum(typeof(SomeEnum)); inspector.ImportEnum(typeof(ActResource.SomeOtherEnum)); var result = inspector.FindEnumMappingByType(typeof(SomeEnum)); Assert.IsNotNull(result); Assert.AreEqual(typeof(SomeEnum), result.EnumType); result = inspector.FindEnumMappingByType(typeof(ActResource.SomeOtherEnum)); Assert.IsNotNull(result); Assert.AreEqual(typeof(ActResource.SomeOtherEnum), result.EnumType); }
public void TestAssemblyInspection() { var inspector = new ModelInspector(); // Inspect the HL7.Fhir.Model assembly inspector.Import(typeof(Resource).Assembly); // Check for presence of some basic ingredients Assert.IsNotNull(inspector.FindClassMappingForResource("patient")); Assert.IsNotNull(inspector.FindClassMappingForFhirDataType("HumanName")); Assert.IsNotNull(inspector.FindClassMappingForFhirDataType("code")); Assert.IsNotNull(inspector.FindClassMappingForFhirDataType("boolean")); // Verify presence of nested enumerations Assert.IsNotNull(inspector.FindEnumMappingByType(typeof(Address.AddressUse))); // Should have skipped abstract classes Assert.IsNull(inspector.FindClassMappingForResource("ComplexElement")); Assert.IsNull(inspector.FindClassMappingForResource("Element")); Assert.IsNull(inspector.FindClassMappingForResource("Resource")); // The open generic Code<> should not be there var codeOfT = inspector.FindClassMappingByType(typeof(Code<>)); Assert.IsNull(codeOfT); }