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)); }
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); }
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); }