public void QSDTransTest02()
        {
            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
                }
            };

            var setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = NullFlavor.Other;
            Assert.IsFalse(setExpression2.Validate());
        }
        public void QSDTransTest03()
        {
            SXPR <INT> setExpression = new SXPR <INT>();

            setExpression.TranslateToQSET();
            Assert.IsFalse(setExpression.Validate());
        }
        public void SXPRExampleTest04()
        {
            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>(2, 7)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Intersect
                }
            };

            Console.WriteLine(setExpression.ToString());
            Assert.IsTrue(setExpression.Validate());
        }
        public void TPHTest01()
        {
            // create a periodic hull set expression of type SXPR

            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.PeriodicHull
                },
                new IVL <INT>(7, 8)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Exclusive
                }
            };

            // translate period hull set expression to type QSET
            var setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = null;
            Assert.IsTrue(setExpression2.Validate());
        }
Exemple #5
0
        public void SXPRSTMixedComponentsFormatting()
        {
            SXPR <RTO <INT, INT> > test = SXPR <RTO <INT, INT> > .CreateSXPR(new IVL <RTO <INT, INT> >(new RTO <INT, INT>(1, 3), new RTO <INT, INT>(2, 3)),
                                                                             new PIVL <RTO <INT, INT> >(
                                                                                 new IVL <RTO <INT, INT> >(new RTO <INT, INT>(2, 3), new RTO <INT, INT>(5, 6)),
                                                                                 new PQ((decimal)1.0, "y")
                                                                                 )
                                                                             //new SXCM<RTO<INT,INT>>(new RTO<INT,INT>(1,2)) { Operator = SetOperator.A },
                                                                             //new IVL<RTO<INT,INT>>(new RTO<INT,INT>(1,2)) { Operator = SetOperator.Intersect
                                                                             );

            StringWriter      sw   = new StringWriter();
            DatatypeFormatter fmtr = new DatatypeFormatter();
            XmlStateWriter    xw   = new XmlStateWriter(XmlWriter.Create(sw));

            xw.WriteStartElement("sxpr");
            fmtr.Graph(xw, test);
            xw.WriteEndElement(); // comp
            xw.Flush();
            Tracer.Trace(sw.ToString());
            StringReader   sr  = new StringReader(sw.ToString());
            XmlStateReader rdr = new XmlStateReader(XmlReader.Create(sr));

            rdr.Read(); rdr.Read();
            var parse = fmtr.Parse(rdr, typeof(SXPR <RTO <INT, INT> >)).Structure as SXPR <RTO <INT, INT> >;

            Assert.AreEqual(parse.Count, test.Count);
            for (int i = 0; i < parse.Count; i++)
            {
                Assert.AreEqual(parse[i].GetType(), test[i].GetType());
            }
        }
Exemple #6
0
        public void SXPRTSExistingCollectionTest()
        {
            SXPR <TS> test = SXPR <TS> .CreateSXPR(new IVL <TS>(DateTime.Now),
                                                   new IVL <TS>(DateTime.Now.AddDays(1)));

            Assert.AreEqual(test.Count, 2);
        }
        public void QSDTransTest01()
        {
            // create differentiating set expression of type SXPR
            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 set expression to type QSD
            var setExpression2 = setExpression.TranslateToQSET();

            Assert.IsTrue(setExpression2.Validate());
        }
        public void SXPRExampleTest01()
        {
            // create new set expression such that:
            //      - the first and second intervals are exclusive of each other and
            //      - the result is intersected with the third interval
            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>(2, 7)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Intersect
                }
            };

            Console.WriteLine(setExpression.ToString());
            Assert.IsTrue(setExpression.Validate());
        }
        public void QSDTransTest04()
        {
            SXPR <INT> setExpression  = new SXPR <INT>();
            var        setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = NullFlavor.Other;
            Assert.IsTrue(setExpression2.Validate());
        }
        public void TPHTest02()
        {
            SXPR <INT> setExpression  = new SXPR <INT>();
            var        setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = null;
            Assert.IsFalse(setExpression2.Validate());
        }
        public void SXPRExampleTest02()
        {
            SXPR <INT> setExpression = new SXPR <INT>();

            setExpression.NullFlavor = null;
            Console.WriteLine(setExpression.ToString());
            Assert.IsFalse(setExpression.Validate());
        }
        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);
        }
Exemple #13
0
        public void GTSTestXsiOutputSXPR_TS_Test()
        {
            // Constrct a GTS
            GTS test = SXPR <TS> .CreateSXPR(
                new IVL <TS>(DateTime.Now),
                new PIVL <TS>(new IVL <TS>(DateTime.Now), new PQ(1, "d"))
                );

            String xml = R1SerializationHelper.SerializeAsString(test, Formatters.XML.Datatypes.R1.DatatypeFormatterCompatibilityMode.ClinicalDocumentArchitecture);

            Assert.IsTrue(xml.Contains("xsi:type=\"SXPR_TS\""));
            Assert.IsTrue(xml.Contains("xsi:type=\"IVL_TS\""));
            Assert.IsTrue(xml.Contains("xsi:type=\"PIVL_TS\""));
        }
        public void TPHTest05()
        {
            SXPR <INT> setExpression = new SXPR <INT>()
            {
                new IVL <INT>(),
                new IVL <INT>(),
                new IVL <INT>()
            };

            var setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = null;
            Assert.IsTrue(setExpression2.Validate());
        }
        public void QSSToSXPRTest06()
        {
            // A QSS of times that shift by month each year
            QSS <TS> times = QSS <TS> .CreateQSS(
                new TS(new DateTime(2008, 01, 01), DatePrecision.Month),
                new TS(new DateTime(2009, 02, 01), DatePrecision.Month),
                new TS(new DateTime(2010, 03, 01), DatePrecision.Month)
                );

            Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            var times3 = times.TranslateToSXPR();

            Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            times.NullFlavor = null;

            // Create instance of SXPR<TS>
            SXPR <TS> times2 = new SXPR <TS>();

            //Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            Console.WriteLine("Times2 Type: {0}", times2.GetType().Name.ToString());
            Assert.AreEqual(times3.GetType(), times2.GetType());
        }
        public void TPHTest06()
        {
            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.PeriodicHull
                },
                new IVL <INT>(7, 8)
                {
                    LowClosed  = true,
                    HighClosed = true,
                    Operator   = SetOperator.Exclusive
                }
            };

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

            // NTURAL QSET VERSION
            QSD <INT> PHRange = new QSD <INT>
                                (
                new QSP <INT>(
                    new IVL <INT>(1, 10),
                    new IVL <INT>(5, 8)
                    ),
                new IVL <INT>(7, 8)
                                );

            Assert.AreNotEqual(setExpression2, PHRange);
        }
Exemple #17
0
        public void SXPRTSMixedComponentsFormatting()
        {
            SXPR <TS> test = SXPR <TS> .CreateSXPR(new IVL <TS>(DateTime.Now, DateTime.Now.AddDays(1)),
                                                   new PIVL <TS>(
                                                       new IVL <TS>(DateTime.Now, DateTime.Now.AddDays(1)),
                                                       new PQ((decimal)1.0, "y")
                                                       ),
                                                   //new SXCM<TS>(DateTime.Now) { Operator = SetOperator.A },
                                                   new IVL <TS>(DateTime.Now) { Operator = SetOperator.Intersect },
                                                   new EIVL <TS>(DomainTimingEventType.BeforeLunch,
                                                                 new IVL <PQ>(
                                                                     new PQ((decimal)1.0, "d")
                                                                     )
                                                                 ) { Operator = SetOperator.Inclusive });

            StringWriter      sw   = new StringWriter();
            DatatypeFormatter fmtr = new DatatypeFormatter();
            XmlStateWriter    xw   = new XmlStateWriter(XmlWriter.Create(sw));

            xw.WriteStartElement("sxpr");
            fmtr.Graph(xw, test);
            xw.WriteEndElement(); // comp
            xw.Flush();
            Tracer.Trace(sw.ToString());
            StringReader   sr  = new StringReader(sw.ToString());
            XmlStateReader rdr = new XmlStateReader(XmlReader.Create(sr));

            rdr.Read(); rdr.Read();
            var parse = fmtr.Parse(rdr, typeof(SXPR <TS>)).Structure as SXPR <TS>;

            Assert.AreEqual(parse.Count, test.Count);
            for (int i = 0; i < parse.Count; i++)
            {
                Assert.AreEqual(parse[i].GetType(), test[i].GetType());
            }
        }
Exemple #18
0
        public void QSSToSXPRTest06()
        {
            // A QSS of times that shift by month each year
            QSS<TS> times = QSS<TS>.CreateQSS(
                new TS(new DateTime(2008, 01, 01), DatePrecision.Month),
                new TS(new DateTime(2009, 02, 01), DatePrecision.Month),
                new TS(new DateTime(2010, 03, 01), DatePrecision.Month)
            );

            Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            var times3 = times.TranslateToSXPR();
            Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            times.NullFlavor = null;

            // Create instance of SXPR<TS>
            SXPR<TS> times2 = new SXPR<TS>();

            //Console.WriteLine("Times Type: {0}", times.GetType().Name.ToString());
            Console.WriteLine("Times2 Type: {0}", times2.GetType().Name.ToString());
            Assert.AreEqual(times3.GetType(), times2.GetType());
        }
Exemple #19
0
        public void QSDTransTest01()
        {
            // create differentiating set expression of type SXPR
            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 set expression to type QSD
            var setExpression2 = setExpression.TranslateToQSET();

            Assert.IsTrue(setExpression2.Validate());
        }
Exemple #20
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);
        }
Exemple #21
0
 public void QSDTransTest04()
 {
     SXPR<INT> setExpression = new SXPR<INT>();
     var setExpression2 = setExpression.TranslateToQSET();
     setExpression2.NullFlavor = NullFlavor.Other;
     Assert.IsTrue(setExpression2.Validate());
 }
Exemple #22
0
 public void QSDTransTest03()
 {
     SXPR<INT> setExpression = new SXPR<INT>();
     setExpression.TranslateToQSET();
     Assert.IsFalse(setExpression.Validate());
 }
 public void TPHTest02()
 {
     SXPR<INT> setExpression = new SXPR<INT>();
     var setExpression2 = setExpression.TranslateToQSET();
     setExpression2.NullFlavor = null;
     Assert.IsFalse(setExpression2.Validate());
 }
Exemple #24
0
        public void SXPRExampleTest01()
        {
            // create new set expression such that:
            //      - the first and second intervals are exclusive of each other and
            //      - the result is intersected with the third interval
            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>(2,7) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Intersect
                }
            };

            Console.WriteLine(setExpression.ToString());
            Assert.IsTrue(setExpression.Validate());
        }
Exemple #25
0
        public void SXPRExampleTest04()
        {
            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>(2,7) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Intersect
                }
            };

            Console.WriteLine(setExpression.ToString());
            Assert.IsTrue(setExpression.Validate());
        }
        public void TPHTest05()
        {
            SXPR<INT> setExpression = new SXPR<INT>(){
                new IVL<INT>(),
                new IVL<INT>(),
                new IVL<INT>()
            };

            var setExpression2 = setExpression.TranslateToQSET();
            setExpression2.NullFlavor = null;
            Assert.IsTrue(setExpression2.Validate());
        }
        public void TPHTest06()
        {
            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.PeriodicHull
                },
                new IVL<INT>(7,8) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Exclusive
                }
            };
            
            // Translate SXPR to QSET
            var setExpression2 = setExpression.TranslateToQSET();

            // NTURAL QSET VERSION
            QSD<INT> PHRange = new QSD<INT>
                (
                     new QSP<INT>(
                            new IVL<INT>(1,10),
                            new IVL<INT>(5,8)
                         ),
                     new IVL<INT>(7,8)
                );

            Assert.AreNotEqual(setExpression2, PHRange);
        }
Exemple #28
0
        public void QSDTransTest02()
        {
            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
                }
            };

            var setExpression2 = setExpression.TranslateToQSET();
            setExpression2.NullFlavor = NullFlavor.Other;
            Assert.IsFalse(setExpression2.Validate());
        }
        public void TPHTest01()
        {
            // create a periodic hull set expression of type SXPR

            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.PeriodicHull
                },
                new IVL<INT>(7,8) {
                    LowClosed = true,
                    HighClosed = true,
                    Operator = SetOperator.Exclusive
                }
            };
            
            // translate period hull set expression to type QSET
            var setExpression2 = setExpression.TranslateToQSET();

            setExpression2.NullFlavor = null;
            Assert.IsTrue(setExpression2.Validate());
        }
Exemple #30
0
 public void SXPRExampleTest02()
 {
     SXPR<INT> setExpression = new SXPR<INT>();
     setExpression.NullFlavor = null;
     Console.WriteLine(setExpression.ToString());
     Assert.IsFalse(setExpression.Validate());
 }