public CompartmentDefinitionManagerTests()
        {
            var validCompartmentBundle = Samples.GetJsonSample <Bundle>("ValidCompartmentDefinition");

            _validBuiltCompartment = new CompartmentDefinitionManager(new FhirJsonParser());
            _validBuiltCompartment.Build(validCompartmentBundle);
        }
Example #2
0
        public CompartmentDefinitionManagerTests()
        {
            var validCompartmentBundle = Samples.GetJsonSample <Bundle>("ValidCompartmentDefinition");

            _validBuiltCompartment = new CompartmentDefinitionManager(ModelInfoProvider.Instance);
            _validBuiltCompartment.Build(new BundleWrapper(validCompartmentBundle.ToTypedElement()));
        }
        public void GivenAnInvalidCompartmentDefinitionBundle_Issues_MustBeReturned()
        {
            var invalidCompartmentBundle = Samples.GetJsonSample <Bundle>("InvalidCompartmentDefinition");
            var invalidBuiltCompartment  = new CompartmentDefinitionManager(new FhirJsonParser());
            var exception = Assert.Throws <InvalidDefinitionException>(() => invalidBuiltCompartment.Build(invalidCompartmentBundle));

            Assert.Contains("invalid entries", exception.Message);
            Assert.Equal(3, exception.Issues.Count);
            Assert.Contains(exception.Issues, ic => ic.Severity == OperationOutcome.IssueSeverity.Fatal.ToString() && ic.Code == OperationOutcome.IssueType.Invalid.ToString() && ic.Diagnostics.Contains("not a CompartmentDefinition"));
            Assert.Contains(exception.Issues, ic => ic.Severity == OperationOutcome.IssueSeverity.Fatal.ToString() && ic.Code == OperationOutcome.IssueType.Invalid.ToString() && ic.Diagnostics.Contains("url is invalid"));
            Assert.Contains(exception.Issues, ic => ic.Severity == OperationOutcome.IssueSeverity.Fatal.ToString() && ic.Code == OperationOutcome.IssueType.Invalid.ToString() && ic.Diagnostics.Contains("bundle.entry[1].resource has duplicate resources."));
        }