コード例 #1
0
        public virtual void TestNoValueAndOptional()
        {
            CDImpl cd     = new CDImpl(null);
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                 (this.result, null, "name", null, Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.OPTIONAL, null, false, SpecificationVersion
                                                                                                 .R02_04_03, null, null, CodingStrength.CNE, false), cd);

            Assert.IsTrue(this.result.IsValid());
            Assert.AreEqual(string.Empty, StringUtils.Trim(result), "result");
        }
コード例 #2
0
        public virtual void TestOriginalTextAndNullFlavor()
        {
            CDImpl cd = new CDImpl(Ca.Infoway.Messagebuilder.Domainvalue.Nullflavor.NullFlavor.NO_INFORMATION);

            cd.OriginalText = "some original text";
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(GetContext("name"), cd);

            Assert.IsTrue(this.result.IsValid());
            Assert.AreEqual("<name nullFlavor=\"NI\"><originalText>some original text</originalText></name>", StringUtils.Trim(result
                                                                                                                               ), "result");
        }
コード例 #3
0
        public virtual void TestSingleTranslation()
        {
            CDImpl cd = new CDImpl(null);

            cd.Translations.Add(new CDImpl(MockEnum.FRED));
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(GetContext("name"), cd);

            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            // code/codeSystem mandatory
            Assert.AreEqual("<name><translation code=\"FRED\" codeSystem=\"1.2.3.4.5\"/></name>", StringUtils.Trim(result), "result");
        }
コード例 #4
0
        public virtual void TestOriginalText()
        {
            CDImpl cd = new CDImpl(null);

            cd.OriginalText = "some original text";
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(GetContext("name"), cd);

            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            // code/codeSystem mandatory (need a CWE coding strength to allow this run to pass without errors)
            Assert.AreEqual("<name><originalText>some original text</originalText></name>", StringUtils.Trim(result), "result");
        }
コード例 #5
0
        public virtual void TestNoInternalValuesAndMandatory()
        {
            CDImpl cd     = new CDImpl(new _Code_133());
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                 (this.result, null, "name", null, Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.MANDATORY, null, false, SpecificationVersion
                                                                                                 .R02_04_03, null, null, CodingStrength.CNE, false), cd);

            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            Assert.IsTrue(this.result.GetHl7Errors()[0].GetMessage().StartsWith("For codes with codingStrength of CNE, code and codeSystem properties must be provided."
                                                                                ));
            Assert.AreEqual("<name/>", StringUtils.Trim(result), "result");
        }
コード例 #6
0
        public virtual void TestNoValueAndMandatory()
        {
            CDImpl cd     = new CDImpl(null);
            string result = new CdPropertyFormatterTest.TestableCdPropertyFormatter().Format(new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                                 (this.result, null, "name", null, Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.MANDATORY, null, false, SpecificationVersion
                                                                                                 .R02_04_03, null, null, CodingStrength.CNE, false), cd);

            Assert.IsFalse(this.result.IsValid());
            Assert.AreEqual(1, this.result.GetHl7Errors().Count);
            // "name" mandatory
            Assert.IsTrue(this.result.GetHl7Errors()[0].GetMessage().StartsWith("name is a mandatory field, but no value is specified"
                                                                                ), "error");
            Assert.AreEqual("<name/>", StringUtils.Trim(result), "result");
        }
コード例 #7
0
        private CD ConvertAnyToCd(BareANY hl7Value)
        {
            ANYMetaData anyCd = (ANYMetaData)hl7Value;
            CD          cd    = new CDImpl();

            if (anyCd != null)
            {
                if (GenericClassUtil.IsInstanceOfANY(hl7Value))
                {
                    object value = GenericClassUtil.GetValueFromANY(hl7Value);
                    if (value is Code)
                    {
                        cd.Value = (Code)value;
                    }
                }
                cd.DataType     = hl7Value.DataType;
                cd.NullFlavor   = hl7Value.NullFlavor;
                cd.DisplayName  = anyCd.DisplayName;
                cd.OriginalText = anyCd.OriginalText;
                cd.Translations.AddAll(anyCd.Translations);
            }
            return(cd);
        }
コード例 #8
0
        public virtual void TestAdaptValueAdaptNotRequired()
        {
            BareANY original = new CDImpl();

            Assert.AreSame(original, GenericClassUtil.AdaptValue(original));
        }