Esempio n. 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));
        }
Esempio n. 2
0
        public virtual void TestGetAttributeNameValuePairsIncludeUses()
        {
            TelecommunicationAddress address = new TelecommunicationAddress();

            address.UrlScheme = CeRxDomainTestValues.TELEPHONE;
            address.Address   = "value";
            address.AddAddressUse(CeRxDomainTestValues.HOME_ADDRESS);
            IDictionary <string, string> result = new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (CreateContext("TEL.PHONE"), address, new TELImpl());

            Assert.IsTrue(this.xmlResult.IsValid());
            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsTrue(result.ContainsKey("value"), "key as expected");
            Assert.AreEqual("tel:value", result.SafeGet("value"), "value as expected");
            Assert.IsTrue(result.ContainsKey("use"), "use key as expected");
            Assert.AreEqual("H", result.SafeGet("use"), "use as expected");
            address.AddAddressUse(CeRxDomainTestValues.MOBILE_CONTACT);
            result = new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter().GetAttributeNameValuePairsForTest(
                CreateContext("TEL.PHONE"), address, new TELImpl());
            Assert.IsTrue(this.xmlResult.IsValid());
            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsTrue(result.ContainsKey("use"), "use key as expected");
            ICollection <string> uses = FormatterAssert.ToSet(result.SafeGet("use"));

            FormatterAssert.AssertContainsSame("uses", FormatterAssert.ToSet("H MC"), uses);
        }
Esempio n. 3
0
 public virtual void TestGetAttributeNameValuePairsAllInvalidSchemes()
 {
     Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = CreateContext("TEL.PHONE");
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .FILE, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .FTP, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .HTTP, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .HTTPS, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .MLLP, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .MODEM, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .TELNET, context);
     this.xmlResult.ClearErrors();
     FormatterAssert.AssertInvalidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                            .NFS, context);
 }
Esempio n. 4
0
 public virtual void TestGetAttributeNameValuePairsPhonemailAllValidSchemes()
 {
     Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = CreateContext("TEL.PHONE");
     FormatterAssert.AssertValidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                          .FAX, context, "fax:");
     FormatterAssert.AssertValidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                          .TELEPHONE, context, "tel:");
     context = CreateContext("TEL.EMAIL");
     FormatterAssert.AssertValidUrlScheme(new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter(), CeRxDomainTestValues
                                          .MAILTO, context, "mailto:");
 }
Esempio n. 5
0
 public virtual void TestGetAttributeNameValuePairsTelAllValidUris()
 {
     Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl context = CreateContext();
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.FILE, context, "file://"
                                          );
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.FTP, context, "ftp://");
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.HTTP, context, "http://"
                                          );
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.HTTPS, context, "https://"
                                          );
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.MAILTO, context, "mailto:"
                                          );
     FormatterAssert.AssertValidUrlScheme(new TestableTelUriPropertyFormatter(), CeRxDomainTestValues.NFS, context, "nfs://");
 }
Esempio n. 6
0
        public virtual void TestGetAttributeNameValuePairsAllInvalidUsesForEmail()
        {
            TelecommunicationAddress address = new TelecommunicationAddress();

            address.UrlScheme = CeRxDomainTestValues.MAILTO;
            address.Address   = "value";
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.ANSWERING_MACHINE);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.BAD);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.CONFIDENTIAL);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.DIRECT);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.EMERGENCY_CONTACT);
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.HOME);
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.MOBILE);
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.PAGER);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.PRIMARY_HOME);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.PUBLISHED);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.TEMPORARY);
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.VACATION_HOME);
            // invalid
            address.AddAddressUse(Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.WORKPLACE);
            IDictionary <string, string> result = new TelPhonemailPropertyFormatterTest.TestableTelPhonemailPropertyFormatter().GetAttributeNameValuePairsForTest
                                                      (CreateContext("TEL.EMAIL"), address, new TELImpl());

            Assert.IsFalse(this.xmlResult.IsValid());
            Assert.AreEqual(9, this.xmlResult.GetHl7Errors().Count);
            // 8 bad uses + 1 for too many
            Assert.AreEqual(2, result.Count, "map size");
            Assert.IsTrue(result.ContainsKey("value"), "key as expected");
            Assert.AreEqual("mailto:value", result.SafeGet("value"), "value as expected");
            ICollection <string> uses = FormatterAssert.ToSet(result.SafeGet("use"));

            FormatterAssert.AssertContainsSame("uses", FormatterAssert.ToSet("EC H MC TMP WP"), uses);
        }