Exemple #1
0
        public virtual void TestFormatValueNonNull()
        {
            PhysicalQuantity numerator1 = new PhysicalQuantity(BigDecimal.ONE, Ca.Infoway.Messagebuilder.Domainvalue.Basic.UnitsOfMeasureCaseSensitive
                                                               .CENTIMETRE);
            PhysicalQuantity denominator1 = new PhysicalQuantity(new BigDecimal(2), Ca.Infoway.Messagebuilder.Domainvalue.Basic.UnitsOfMeasureCaseSensitive
                                                                 .CUBIC_CENTIMETER);
            PhysicalQuantity numerator2 = new PhysicalQuantity(BigDecimal.TEN, Ca.Infoway.Messagebuilder.Domainvalue.Basic.UnitsOfMeasureCaseSensitive
                                                               .MILLIMETER);
            PhysicalQuantity denominator2 = new PhysicalQuantity(new BigDecimal(11), Ca.Infoway.Messagebuilder.Domainvalue.Basic.UnitsOfMeasureCaseSensitive
                                                                 .CUBIC_MILIMETER);
            Ratio <PhysicalQuantity, PhysicalQuantity> ratio1 = new Ratio <PhysicalQuantity, PhysicalQuantity>(numerator1, denominator1
                                                                                                               );
            Ratio <PhysicalQuantity, PhysicalQuantity> ratio2 = new Ratio <PhysicalQuantity, PhysicalQuantity>(numerator2, denominator2
                                                                                                               );
            SETImpl <RTO <PhysicalQuantity, PhysicalQuantity>, Ratio <PhysicalQuantity, PhysicalQuantity> > set = new SETImpl <RTO <PhysicalQuantity
                                                                                                                                    , PhysicalQuantity>, Ratio <PhysicalQuantity, PhysicalQuantity> >(typeof(RTOImpl <PhysicalQuantity, PhysicalQuantity>));

            set.RawSet().AddAll(MakeSet(ratio1, ratio2));
            string result = new SetPropertyFormatter(this.formatterRegistry).Format(new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                        (new ModelToXmlResult(), null, "blah", "SET<RTO<PQ.DRUG,PQ.TIME>>", Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.MANDATORY
                                                                                        , Cardinality.Create("1-4"), false, SpecificationVersion.R02_04_02, null, null, null, false), set);

            AssertXml("non null", "<blah><numerator unit=\"cm\" value=\"1\"/><denominator unit=\"cm3\" value=\"2\"/></blah><blah><numerator unit=\"mm\" value=\"10\"/><denominator unit=\"mm3\" value=\"11\"/></blah>"
                      , result);
        }
Exemple #2
0
        public virtual void ShouldAdaptSetCorrectly()
        {
            SET <ST, string> list = new SETImpl <ST, string>(typeof(STImpl));

            list.RawSet().Add("text1");
            list.RawSet().Add("text2");
            BareANY adapted = this.adapter.Adapt("SET<TN>", list);

            Assert.IsTrue(adapted is SET <TNImpl, TrivialName>, "type");
            LinkedSet <TNImpl> set = (LinkedSet <TNImpl>)adapted.BareValue;

            Assert.AreEqual(2, set.Count, "size");
            Assert.IsTrue(EveryItemTN(set), "all TNs");
            Assert.IsTrue(HasItemWithValue(set, "text1"));
            Assert.IsTrue(HasItemWithValue(set, "text2"));
        }
Exemple #3
0
        public virtual void TestFormatValueNonNull()
        {
            PlatformDate calendar1         = DateUtil.GetDate(1999, 0, 1, 12, 29, 59, 0);
            PlatformDate calendar2         = DateUtil.GetDate(2001, 1, 3, 13, 30, 00, 0);
            SETImpl <TS, PlatformDate> set = new SETImpl <TS, PlatformDate>(typeof(TSImpl));

            set.RawSet().AddAll(MakeSet(calendar1, calendar2));
            string result = new SetPropertyFormatter(this.formatterRegistry).Format(new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl
                                                                                        (new ModelToXmlResult(), null, "blah", "SET<TS>", Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.MANDATORY, Cardinality.
                                                                                        Create("1-4"), false), set);
            string currentTimeZone1 = DateFormatUtil.Format(calendar1, "Z");
            string currentTimeZone2 = DateFormatUtil.Format(calendar2, "Z");
            string expectedValue1   = "19990101122959.0000" + currentTimeZone1;
            string expectedValue2   = "20010203133000.0000" + currentTimeZone2;

            AssertXml("non null", "<blah value=\"" + expectedValue1 + "\"/><blah value=\"" + expectedValue2 + "\"/>", result);
        }
Exemple #4
0
        public virtual BareANY Adapt(string toDataTypeName, BareANY any)
        {
            MethodInfo                    rawCollectionMethod = any.GetType().GetMethod("RawCollection");
            ICollection <object>          collection          = (ICollection <object>)rawCollectionMethod.Invoke(any, new object[] { });
            SETImpl <TNImpl, TrivialName> adaptedSet          = new SETImpl <TNImpl, TrivialName>(typeof(TNImpl));

            if (any.HasNullFlavor())
            {
                NullFlavor nullFlavor = any.NullFlavor;
                adaptedSet.NullFlavor = nullFlavor;
            }
            else
            {
                adaptedSet.RawSet().AddAll(ToSetOfTrivialName(collection));
            }
            return(adaptedSet);
        }