public void GivenAConformanceBuilder_WhenVersionofResourceIsDifferentFromDefault_ThenResourceUsesResourceSpecificVersionLogic() { IOptions <CoreFeatureConfiguration> configuration = Substitute.For <IOptions <CoreFeatureConfiguration> >(); Dictionary <string, string> overrides = new(); VersioningConfiguration versionConfig = new(); versionConfig.ResourceTypeOverrides.Add("Patient", "no-version"); configuration.Value.Returns(new CoreFeatureConfiguration() { Versioning = versionConfig }); var supportedProfiles = Substitute.For <IKnowSupportedProfiles>(); var builder = CapabilityStatementBuilder.Create( ModelInfoProvider.Instance, _searchParameterDefinitionManager, configuration, supportedProfiles); ICapabilityStatementBuilder capabilityStatement = builder.ApplyToResource("Patient", c => { c.Interaction.Add(new ResourceInteractionComponent { Code = "create", }); }); ITypedElement resource = capabilityStatement.Build(); var patientResource = ((CapabilityStatement)resource.ToPoco()).Rest.First().Resource.First(); Assert.True(patientResource.Type == ResourceType.Patient); Assert.True(patientResource.Versioning == CapabilityStatement.ResourceVersionPolicy.NoVersion); }
private void testSubtree(ITypedElement navXml, ITypedElement navJson, ITypedElement navPoco) { assertAreNavsEqual(navXml, navJson, navPoco); var navRtXml = JsonParsingHelpers.ParseToTypedElement(navXml.ToJson(), navXml.InstanceType, new PocoStructureDefinitionSummaryProvider(), navXml.Name); var navRtJson = navJson.ToPoco().ToTypedElement(navJson.Name); var navRtPoco = XmlParsingHelpers.ParseToTypedElement(navPoco.ToXml(), navPoco.InstanceType, new PocoStructureDefinitionSummaryProvider()); assertAreNavsEqual(navRtXml, navRtJson, navRtPoco); }
public T Parse <T>(ITypedElement element) where T : Base => element.ToPoco <T>(buildPocoBuilderSettings(Settings));
public Base Parse(ITypedElement element) => element.ToPoco(buildPocoBuilderSettings(Settings));
public static T ToPoco <T>(this ITypedElement element, PocoBuilderSettings settings = null) where T : Base => (T)element.ToPoco(settings);