Beispiel #1
0
        public virtual void TestFormatEmptyAddress()
        {
            AdBasicPropertyFormatter formatter = new AdBasicPropertyFormatter();
            string result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));

            Assert.IsTrue(this.result.IsValid());
            string expectedResult = "<address>" + SystemUtils.LINE_SEPARATOR + "</address>" + SystemUtils.LINE_SEPARATOR;

            AssertXmlEquals("empty address", expectedResult, result);
            // a funny case: make sure adding a null address use is like not adding one at all
            // (i.e., just like above)
            this.address.AddUse(null);
            AssertXmlEquals("empty address - even with \"null\" address use", expectedResult, result);
            this.address.AddUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.X_BasicPostalAddressUse.WORK_PLACE);
            result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));
            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            // null not allowed for use
            expectedResult = "<address use=\"WP\">" + SystemUtils.LINE_SEPARATOR + "</address>" + SystemUtils.LINE_SEPARATOR;
            AssertXmlEquals("empty workplace address", expectedResult, result);
            this.result.ClearErrors();
            this.address.AddUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.X_BasicPostalAddressUse.HOME);
            result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));
            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            // null not allowed for use
            XmlDocument document  = new DocumentFactory().CreateFromString(result);
            string      attribute = (document.DocumentElement).GetAttribute("use");

            FormatterAssert.AssertContainsSame("uses", FormatterAssert.ToSet("H WP"), FormatterAssert.ToSet(attribute));
        }
Beispiel #2
0
        /// <exception cref="System.Exception"></exception>
        private void AssertInvalidAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.PostalAddressUse postalAddressUse)
        {
            string xml = new AdBasicPropertyFormatter().Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));

            Assert.IsTrue(this.result.IsValid());
            Assert.IsFalse(xml.Contains("use"), "use: " + postalAddressUse);
        }
Beispiel #3
0
        public virtual void TestFormatAll()
        {
            AdBasicPropertyFormatter formatter = new AdBasicPropertyFormatter();

            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.STREET_ADDRESS_LINE, "1 Yonge St."));
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.STREET_ADDRESS_LINE, "1 Bloor St."));
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.STREET_ADDRESS_LINE, "1 Spadina Ave."));
            this.address.AddUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.X_BasicPostalAddressUse.HOME);
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.CITY, "Toronto"));
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.STATE, Ca.Infoway.Messagebuilder.Domainvalue.Basic.State
                                                                    .ONTARIO));
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.POSTAL_CODE, "postalCodeValue"));
            this.address.AddPostalAddressPart(new PostalAddressPart(PostalAddressPartType.COUNTRY, Ca.Infoway.Messagebuilder.Domainvalue.Basic.Country
                                                                    .CANADA));
            this.address.AddPostalAddressPart(new PostalAddressPart("freeformLine1"));
            this.address.AddPostalAddressPart(new PostalAddressPart("freeformLine2"));
            string result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));

            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(3, this.result.GetHl7Errors().Count);
            // one error for each of the invalid SAL parts
            string expectedResult = "<address use=\"H\">" + "1 Yonge St. 1 Bloor St. 1 Spadina Ave." + "<city>Toronto</city>" + "<state code=\"ON\">ON</state>"
                                    + "<postalCode>postalCodeValue</postalCode>" + "<country code=\"Canada\">Canada</country>" + "freeformLine1 freeformLine2"
                                    + "</address>";

            AssertXmlEquals("full address", expectedResult, result);
        }
Beispiel #4
0
        /// <exception cref="System.Exception"></exception>
        private void AssertValidAddressUse(x_BasicPostalAddressUse use)
        {
            PostalAddress postalAddress = new PostalAddress();

            postalAddress.AddUse(use);
            string result = new AdBasicPropertyFormatter().Format(GetContext("address", "AD.BASIC"), new ADImpl(postalAddress));

            Assert.IsTrue(this.result.IsValid());
            string expected = "<address use=\"" + use.CodeValue + "\">" + SystemUtils.LINE_SEPARATOR + "</address>" + SystemUtils.LINE_SEPARATOR;

            AssertXmlEquals("use formatted properly", expected, result);
        }
Beispiel #5
0
        public virtual void TestFormatFreeformLines()
        {
            AdBasicPropertyFormatter formatter = new AdBasicPropertyFormatter();

            this.address.AddPostalAddressPart(new PostalAddressPart("address line one"));
            string result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));

            Assert.IsTrue(this.result.IsValid());
            string expectedResult = "<address>" + "address line one" + "</address>";

            AssertXmlEquals("one freeform line", expectedResult, result);
            this.address.AddPostalAddressPart(new PostalAddressPart("address line two"));
            result = formatter.Format(GetContext("address", "AD.BASIC"), new ADImpl(this.address));
            Assert.IsTrue(this.result.IsValid());
            expectedResult = "<address>" + "address line one " + "address line two" + "</address>";
            AssertXmlEquals("two freeform lines", expectedResult, result);
        }
Beispiel #6
0
 public virtual void SetUp()
 {
     this.address   = new PostalAddress();
     this.formatter = new AdBasicPropertyFormatter();
 }