Ejemplo n.º 1
0
        public virtual void TestGetAttributeNameValuePairsForValidII_OID_MR2007()
        {
            Identifier       ii               = new Identifier("11.22.33.44");
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.OID", null, null, false, SpecificationVersion.V02R02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(1, result.Count, "map size");
            Assert.IsTrue(modelToXmlResult.GetHl7Errors().IsEmpty(), "no errors");
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
        }
Ejemplo n.º 2
0
        public virtual void TestGetAttributeNameValuePairsForValidIIAsUuid()
        {
            UUID             randomUUID       = UUID.RandomUUID();
            Identifier       ii               = new Identifier(randomUUID.ToString());
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiR2PropertyFormatterTest.TestableIiR2PropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(1, result.Count, "map size");
            Assert.IsTrue(modelToXmlResult.GetHl7Errors().IsEmpty(), "no errors");
            AssertKeyValuePairInMap(result, "root", randomUUID.ToString());
        }
Ejemplo n.º 3
0
        public virtual void TestGetAttributeNameValuePairsForInvalidIIAsOid()
        {
            Identifier       ii               = new Identifier("311.22.33.44");
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiR2PropertyFormatterTest.TestableIiR2PropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(1, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.IsValid(), "one error");
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count, "one error");
            AssertKeyValuePairInMap(result, "root", "311.22.33.44");
        }
Ejemplo n.º 4
0
        public virtual void TestGetAttributeNameValuePairsAllFilledInForIiPublicInMr2007()
        {
            Identifier ii    = new Identifier("11.22.33.44", "extensionString");
            II         iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_PUBLIC;
            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (new ModelToXmlResult(), null, "name", "II.PUBLIC", null, null, true, SpecificationVersion.V02R02, null, null, null, false
                                                                                                );
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(3, result.Count, "map size");
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionString");
            AssertKeyValuePairInMap(result, "displayable", "true");
        }
Ejemplo n.º 5
0
        public void ShouldLogInfoMessageForUseOfIgnoredNonStructuralAttributeWithNullFlavour()
        {
            IIImpl emptyII = new IIImpl();  // don't set the value inside it

            emptyII.DataType   = StandardDataType.II_TOKEN;
            emptyII.NullFlavor = Ca.Infoway.Messagebuilder.Domainvalue.Nullflavor.NullFlavor.NO_INFORMATION;   // do set a null flavour

            Relationship relationship = CreateNonStructuralRelationship();

            relationship.Conformance = ConformanceLevel.IGNORED;

            ExerciseVisitorOverInteractionWithAttribute(emptyII, relationship);

            AssertXmlContains(
                "<!-- INFO - DATA_TYPE_ERROR : Attribute is ignored and will not be used: (id) (aPropertyName2.aPropertyName) -->",
                this.visitor.ToXml().GetXmlMessage());
        }
Ejemplo n.º 6
0
        public virtual void TestGetAttributeNameValuePairsForInvalidII_TOKEN()
        {
            Identifier       ii               = new Identifier("1.2.3.4");
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.TOKEN", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(1, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty());
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("root '1.2.3.4' should be a UUID.", modelToXmlResult.GetHl7Errors()[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", "1.2.3.4");
        }
Ejemplo n.º 7
0
        public virtual void TestGetAttributeNameValuePairsForInvalidII_OID_shouldNotHaveExtension()
        {
            Identifier       ii               = new Identifier("11.22.33.44", "shouldNotBeHere");
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.OID", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(3, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty());
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("Attribute \"extension\" is not allowed for II.OID", modelToXmlResult.GetHl7Errors()[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "shouldNotBeHere");
            AssertKeyValuePairInMap(result, "use", "BUS");
        }
Ejemplo n.º 8
0
        public virtual void TestGetAttributeNameValuePairsForValidII_VERforCerx()
        {
            string     uuid  = UUID.RandomUUID().ToString();
            Identifier ii    = new Identifier(uuid);
            II         iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_VER;
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.VER", null, null, false, SpecificationVersion.V01R04_3, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsTrue(modelToXmlResult.GetHl7Errors().IsEmpty(), "no errors");
            AssertKeyValuePairInMap(result, "root", uuid);
            AssertKeyValuePairInMap(result, "use", "VER");
        }
Ejemplo n.º 9
0
        public virtual void TestGetAttributeNameValuePairsAllFilledInIncludingSpecializationType()
        {
            Identifier ii    = new Identifier("11.22.33.44", "extensionString");
            II         iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_BUS;
            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (new ModelToXmlResult(), null, "name", "II.BUS_AND_VER", null, null, true, SpecificationVersion.R02_04_02, null, null, null
                                                                                                , false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(5, result.Count, "map size");
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionString");
            AssertKeyValuePairInMap(result, "specializationType", "II.BUS");
            AssertKeyValuePairInMap(result, "use", "BUS");
            AssertKeyValuePairInMap(result, "xsi:type", "II");
        }
Ejemplo n.º 10
0
        public virtual void TestGetAttributeNameValuePairsForInvalidII_OID_rootTooLong()
        {
            string           tooLongRoot      = "12345678900.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789";
            Identifier       ii               = new Identifier(tooLongRoot);
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.OID", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty());
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("root '" + tooLongRoot + "' exceeds maximum allowed length of 200.", modelToXmlResult.GetHl7Errors()[0].GetMessage
                                ());
            AssertKeyValuePairInMap(result, "root", tooLongRoot);
            AssertKeyValuePairInMap(result, "use", "BUS");
        }
Ejemplo n.º 11
0
        public virtual void TestGetAttributeNameValuePairsForInvalidII_OID()
        {
            UUID             randomUUID       = UUID.RandomUUID();
            Identifier       ii               = new Identifier(randomUUID.ToString());
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.OID", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty());
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("The oid, \"" + randomUUID.ToString() + "\" does not appear to be a valid oid", modelToXmlResult.GetHl7Errors
                                ()[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", randomUUID.ToString());
            AssertKeyValuePairInMap(result, "use", "BUS");
        }
Ejemplo n.º 12
0
        public virtual void TestGetAttributeNameValuePairsForII_InvalidSpecializationType()
        {
            Identifier ii    = new Identifier("11.22.33.44", "extensionString");
            II         iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_BUS_AND_VER;
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty(), "errors");
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("Invalid specializationType (II.BUS_AND_VER). Field being left as II without a specializationType.", modelToXmlResult
                            .GetHl7Errors()[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionString");
        }
Ejemplo n.º 13
0
        public virtual void ShouldRenderCombinationOfAttributesAndAssociations()
        {
            this.attributeBridge.SetEmpty(false);
            IIImpl iiImpl = new IIImpl(new Identifier("1ee83ff1-08ab-4fe7-b573-ea777e9bad51"));

            iiImpl.DataType = StandardDataType.II_TOKEN;
            this.attributeBridge.SetHl7Value(iiImpl);
            this.attributeBridge.SetValue(false);
            Relationship relationship = CreateSimpleAssociationRelationship();

            this.visitor.VisitRootStart(this.partBridge, this.interation);
            this.visitor.VisitAssociationStart(this.partBridge, relationship);
            this.visitor.VisitAttribute(this.attributeBridge, CreateNonStructuralRelationship(), null, null, null);
            this.visitor.VisitAttribute(this.attributeBridge, CreateStructuralRelationship(), null, null, null);
            this.visitor.VisitAssociationEnd(this.partBridge, relationship);
            this.visitor.VisitRootEnd(this.partBridge, this.interation);
            string xml = this.visitor.ToXml().GetXmlMessage();

            AssertXmlEquals("xml", "<ABCD_IN123456CA xmlns=\"urn:hl7-org:v3\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ITSVersion=\"XML_1.0\">"
                            + "<receiver negationInd=\"false\"><id root=\"1ee83ff1-08ab-4fe7-b573-ea777e9bad51\"/></receiver>" + "</ABCD_IN123456CA>"
                            , xml);
        }
Ejemplo n.º 14
0
        public virtual void TestGetAttributeNameValuePairsForInvalidII_PUBLIC()
        {
            Identifier       ii               = new Identifier("11.22.33.44", "extensionStrngTooLong");
            II               iiHl7            = new IIImpl();
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.PUBLIC", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false
                                                                                                );
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(4, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty(), "errors");
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("extension 'extensionStrngTooLong' exceeds maximum allowed length of 20.", modelToXmlResult.GetHl7Errors(
                                )[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionStrngTooLong");
            AssertKeyValuePairInMap(result, "use", "BUS");
            AssertKeyValuePairInMap(result, "displayable", "true");
        }
Ejemplo n.º 15
0
        public virtual void TestGetAttributeNameValuePairsForII_BUS_UnnecessarySpecializationType()
        {
            Identifier ii    = new Identifier("11.22.33.44", "extensionString");
            II         iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_OID;
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.BUS", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(3, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty(), "errors");
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count);
            Assert.AreEqual("A specializationType should not be specified for non-abstract type: II.BUS", modelToXmlResult.GetHl7Errors
                                ()[0].GetMessage());
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionString");
            AssertKeyValuePairInMap(result, "use", "BUS");
        }
Ejemplo n.º 16
0
        public virtual void TestGetAttributeNameValuePairsForValidII_BUSforCerxWithInvalidRoot()
        {
            Identifier ii = new Identifier("123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.1"
                                           , "extensionString");
            II iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II_BUS;
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II.BUS", null, null, false, SpecificationVersion.V01R04_3, null, null, null, false);
            IDictionary <string, string> result = new IiPropertyFormatterTest.TestableIiPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(3, result.Count, "map size");
            Assert.IsFalse(modelToXmlResult.GetHl7Errors().IsEmpty(), "1 error");
            Assert.AreEqual(1, modelToXmlResult.GetHl7Errors().Count, "1 error");
            Assert.IsTrue(modelToXmlResult.GetHl7Errors()[0].GetMessage().Contains("200"));
            AssertKeyValuePairInMap(result, "root", "123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.1"
                                    );
            AssertKeyValuePairInMap(result, "extension", "extensionString");
            AssertKeyValuePairInMap(result, "use", "BUS");
        }
Ejemplo n.º 17
0
        public virtual void TestGetAttributeNameValuePairsForValidII()
        {
            Identifier ii = new Identifier("11.22.33.44", "extensionString");

            ii.AssigningAuthorityName = "aaName";
            ii.Displayable            = "d_true";
            II iiHl7 = new IIImpl();

            iiHl7.DataType = StandardDataType.II;
            ModelToXmlResult modelToXmlResult = new ModelToXmlResult();

            Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                (modelToXmlResult, null, "name", "II", null, null, false, SpecificationVersion.R02_04_02, null, null, null, false);
            IDictionary <string, string> result = new IiR2PropertyFormatterTest.TestableIiR2PropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (context, ii, iiHl7);

            Assert.AreEqual(4, result.Count, "map size");
            Assert.IsTrue(modelToXmlResult.GetHl7Errors().IsEmpty(), "no errors");
            AssertKeyValuePairInMap(result, "root", "11.22.33.44");
            AssertKeyValuePairInMap(result, "extension", "extensionString");
            AssertKeyValuePairInMap(result, "assigningAuthorityName", "aaName");
            AssertKeyValuePairInMap(result, "displayable", "d_true");
        }