コード例 #1
0
        public void QSDTransTest05()
        {
            SXPR <INT> setExpression = new SXPR <INT>()
            {
                new IVL <INT>(1, 10)
                {
                    LowClosed  = true,
                    HighClosed = true
                },
                new IVL <INT>(5, 8)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Exclusive
                },
                new IVL <INT>(7, 8)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Exclusive
                }
            };

            // Translate SXPR to QSET
            var setExpression2 = setExpression.TranslateToQSET();

            // NATURAL QSD
            QSD <INT> difference = new QSD <INT>(
                new QSD <INT>(
                    new IVL <INT>(1, 10)
            {
                LowClosed  = true,
                HighClosed = true
            },
                    new IVL <INT>(5, 8)
            {
                LowClosed  = true,
                HighClosed = true
            }
                    ),
                new IVL <INT>(7, 8)
            {
                LowClosed  = true,
                HighClosed = true
            }
                );

            // setExpression.NullFlavor = NullFlavor.Other;
            Assert.IsTrue(setExpression2.Validate());
            Assert.IsTrue(difference.Validate());
            Assert.AreNotEqual(setExpression2, difference);
        }
コード例 #2
0
ファイル: TranslateQSDTest.cs プロジェクト: oneminot/everest
        public void QSDTransTest05()
        {
            SXPR<INT> setExpression = new SXPR<INT>(){
                new IVL<INT>(1,10) {
                    LowClosed = true,
                    HighClosed = true
                },
                new IVL<INT>(5,8) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Exclusive
                },
                new IVL<INT>(7,8) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Exclusive
                }
            };

            // Translate SXPR to QSET
            var setExpression2 = setExpression.TranslateToQSET();

            // NATURAL QSD
            QSD<INT> difference = new QSD<INT>(
                new QSD<INT>(
                    new IVL<INT>(1, 10)
                    {
                        LowClosed = true,
                        HighClosed = true
                    },
                    new IVL<INT>(5, 8)
                    {
                        LowClosed = true,
                        HighClosed = true
                    }
                ),
                new IVL<INT>(7, 8)
                {
                    LowClosed = true,
                    HighClosed = true
                }
            );

            // setExpression.NullFlavor = NullFlavor.Other;
            Assert.IsTrue(setExpression2.Validate());
            Assert.IsTrue(difference.Validate());
            Assert.AreNotEqual(setExpression2, difference);
        }
コード例 #3
0
ファイル: QSETTest.cs プロジェクト: oneminot/everest
        public void R2QSD_INT_SerializationTest02()
        {
            // create differentiating continuous set expression
            QSD<INT> set = new QSD<INT>(
                    new IVL<INT>(1, 10)
                    {
                        LowClosed = true,
                        HighClosed = true
                    },
                    new IVL<INT>(5, 8)
                    {
                        LowClosed = true,
                        HighClosed = true
                    }
            );

            // nullifiy the QSD instance
            set.NullFlavor = NullFlavor.NoInformation;

            // normalize the set expression
            set = set.Normalize() as QSD<INT>;
            var expectedXml = @"<test xmlns=""urn:hl7-org:v3"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><minuend xsi:type=""IVL_INT"" lowClosed=""true"" highClosed=""true""><low value=""1""/><high value=""10""/></minuend><subtrahend xsi:type=""IVL_INT"" lowClosed=""true"" highClosed=""true""><low value=""5""/><high value=""8""/></subtrahend></test>";

            Assert.IsFalse(set.Validate());
            var actualXml = R2SerializationHelper.SerializeAsString(set);

            // Assert:  make sure that an exception is thrown
            try
            {
                R2SerializationHelper.XmlIsEquivalent(expectedXml, actualXml);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Assert.IsTrue(e.ToString().Contains("Exception"));
            }
        }
コード例 #4
0
ファイル: QSETTest.cs プロジェクト: oneminot/everest
        public void R2QSD_INT_SerializationTest()
        {
            // create differentiating continuous set expression
            QSD<INT>  set = new QSD<INT>(
                    new IVL<INT>(1, 10)
                    {
                        LowClosed = true,
                        HighClosed = true
                    },
                    new IVL<INT>(5, 8)
                    {
                        LowClosed = true,
                        HighClosed = true
                    }
            );

            // normalize the set expression
            set = set.Normalize() as QSD<INT>;
            var expectedXml = @"<test xmlns=""urn:hl7-org:v3"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><minuend xsi:type=""IVL_INT"" lowClosed=""true"" highClosed=""true""><low value=""1""/><high value=""10""/></minuend><subtrahend xsi:type=""IVL_INT"" lowClosed=""true"" highClosed=""true""><low value=""5""/><high value=""8""/></subtrahend></test>";

            Assert.IsTrue(set.Validate());
            var actualXml = R2SerializationHelper.SerializeAsString(set);
            R2SerializationHelper.XmlIsEquivalent(expectedXml, actualXml);
        }