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