コード例 #1
0
        public virtual void TestIvlTsWithConstraintsInValid()
        {
            ModelToXmlResult        result              = new ModelToXmlResult();
            PlatformDate            dateLow             = DateUtil.GetDate(2012, 4, 3);
            DateWithPattern         dateWithPatternLow  = new DateWithPattern(dateLow, "yyyyMMdd");
            PlatformDate            dateHigh            = DateUtil.GetDate(2012, 6, 8);
            DateWithPattern         dateWithPatternHigh = new DateWithPattern(dateHigh, "yyyyMMdd");
            Interval <PlatformDate> ivlTs = IntervalFactory.CreateLowHigh((PlatformDate)dateWithPatternLow, (PlatformDate)dateWithPatternHigh
                                                                          );
            DateInterval        dateInterval = new DateInterval(ivlTs);
            BareANY             dataType     = new IVLTSCDAR1Impl(dateInterval);
            ConstrainedDatatype constraints  = new ConstrainedDatatype("ivl", "IVL<TS>");

            constraints.Relationships.Add(new Relationship("low", "TS", Cardinality.Create("0")));
            constraints.Relationships.Add(new Relationship("high", "TS", Cardinality.Create("0")));
            FormatContext formatContext = new Ca.Infoway.Messagebuilder.Marshalling.HL7.Formatter.FormatContextImpl(result, string.Empty
                                                                                                                    , "ivl", "IVLTSCDAR1", null, Ca.Infoway.Messagebuilder.Xml.ConformanceLevel.MANDATORY, Cardinality.Create("1"), false, SpecificationVersion
                                                                                                                    .R02_04_03, null, null, null, constraints, true);
            string xml = this.formatter.Format(formatContext, dataType);

            Assert.IsFalse(result.IsValid());
            Assert.AreEqual(2, result.GetHl7Errors().Count);
            string expected = "<ivl><low value=\"20120503\"/><high value=\"20120708\"/></ivl>";

            AssertXml("ivl output", expected, xml, true);
        }
コード例 #2
0
        private BareANY ConvertDataType(BareANY dataType)
        {
            object bareValue = dataType.BareValue;
            Interval <PlatformDate> ivlTsR1 = GenericClassUtil.CastBareValueAsIntervalDate(bareValue);
            DateInterval            ivlTsR2 = (ivlTsR1 == null ? null : ConvertIvlTs(ivlTsR1));
            IVLTSCDAR1 result = new IVLTSCDAR1Impl();

            result.DataType   = dataType.DataType;
            result.BareValue  = ivlTsR2;
            result.NullFlavor = dataType.NullFlavor;
            return(result);
        }