Ejemplo n.º 1
0
        public void YearOriginMerge()
        {
            var from = new DateTime(2002, 1, 1);
            var to   = new DateTime(2004, 1, 1);

            // select
            var rows = myMgr.Query(0, new DateClause(from, to)).Rows.ToList();

            Assert.AreEqual(6, rows.Count);
            Assert.AreEqual(2, rows[0]["value"]);
            Assert.AreEqual(12, rows[1]["value"]);
            Assert.AreEqual(3, rows[2]["value"]);
            Assert.AreEqual(13, rows[3]["value"]);
            Assert.AreEqual(23, rows[4]["value"]);
            Assert.AreEqual(4, rows[5]["value"]);

            // no merge -> should be empty then
            var prios = new List <long>();

            prios.Add(1);
            RowFilter filter       = new DefaultFilterBuilder(mySchema).CreateYearOriginFilter(from, to, prios, false);
            var       filteredRows = filter(rows).ToList();

            Assert.AreEqual(0, filteredRows.Count);

            // with merge
            prios.Add(0);
            filter       = new DefaultFilterBuilder(mySchema).CreateYearOriginFilter(from, to, prios, true);
            filteredRows = filter(rows).ToList();

            Assert.AreEqual(3, filteredRows.Count);
            Assert.AreEqual(12, filteredRows[0]["value"]);
            Assert.AreEqual(13, filteredRows[1]["value"]);
            Assert.AreEqual(4, filteredRows[2]["value"]);
        }
Ejemplo n.º 2
0
        public void YearOriginNoMerge()
        {
            // lets change the sorting to check robustness of the code
            var from = new DateTime(2003, 1, 1);
            var to   = new DateTime(2002, 1, 1);

            // select
            var rows = myMgr.Query(0, new DateClause(from, to)).Rows.ToList();

            Assert.AreEqual(5, rows.Count);
            Assert.AreEqual(2, rows[0]["value"]);
            Assert.AreEqual(12, rows[1]["value"]);
            Assert.AreEqual(3, rows[2]["value"]);
            Assert.AreEqual(13, rows[3]["value"]);
            Assert.AreEqual(23, rows[4]["value"]);

            // no merge
            var prios = new List <long>();

            prios.Add(1);
            RowFilter filter       = new DefaultFilterBuilder(mySchema).CreateYearOriginFilter(from, to, prios, false);
            var       filteredRows = filter(rows).ToList();

            Assert.AreEqual(2, filteredRows.Count);
            Assert.AreEqual(12, filteredRows[0]["value"]);
            Assert.AreEqual(13, filteredRows[1]["value"]);
        }
Ejemplo n.º 3
0
        public void OriginPrios()
        {
            // select
            var rows = myMgr.Query(0, new DateClause(new DateTime(2003, 1, 1))).Rows.ToList();

            Assert.AreEqual(3, rows.Count);
            Assert.AreEqual(3, rows[0]["value"]);
            Assert.AreEqual(13, rows[1]["value"]);
            Assert.AreEqual(23, rows[2]["value"]);

            var prios = new List <long>();

            prios.Add(2);
            RowFilter filter       = new DefaultFilterBuilder(mySchema).CreateOriginFilter(prios);
            var       filteredRows = filter(rows).ToList();

            Assert.AreEqual(1, filteredRows.Count);
            Assert.AreEqual(23, filteredRows[0]["value"]);

            prios.Clear();
            prios.Add(1);
            filter       = new DefaultFilterBuilder(mySchema).CreateOriginFilter(prios);
            filteredRows = filter(rows).ToList();

            Assert.AreEqual(1, filteredRows.Count);
            Assert.AreEqual(13, filteredRows[0]["value"]);
        }
Ejemplo n.º 4
0
        public void Empty()
        {
            // select
            var rows = myMgr.Query(0, new DateClause(new DateTime(2005, 1, 1))).Rows.ToList();

            Assert.AreEqual(1, rows.Count);
            Assert.AreEqual(15, rows[0]["value"]);

            RowFilter filter = new DefaultFilterBuilder(mySchema).EmptyFilter;

            rows = filter(rows).ToList();

            Assert.AreEqual(0, rows.Count);
        }
Ejemplo n.º 5
0
        public void OriginSingle()
        {
            // select
            var rows = myMgr.Query(0, new DateClause(new DateTime(2003, 1, 1))).Rows.ToList();

            Assert.AreEqual(3, rows.Count);
            Assert.AreEqual(3, rows[0]["value"]);
            Assert.AreEqual(13, rows[1]["value"]);
            Assert.AreEqual(23, rows[2]["value"]);

            RowFilter filter = new DefaultFilterBuilder(mySchema).CreateOriginFilter(2);

            rows = filter(rows).ToList();

            Assert.AreEqual(1, rows.Count);
            Assert.AreEqual(23, rows[0]["value"]);
        }
Ejemplo n.º 6
0
        public void PassThrough()
        {
            // select
            var rows = myMgr.Query(0, new DateClause(new DateTime(2003, 1, 1))).Rows.ToList();

            Assert.AreEqual(3, rows.Count);
            Assert.AreEqual(3, rows[0]["value"]);
            Assert.AreEqual(13, rows[1]["value"]);
            Assert.AreEqual(23, rows[2]["value"]);

            RowFilter filter = new DefaultFilterBuilder(mySchema).PassThroughFilter;

            rows = filter(rows).ToList();

            Assert.AreEqual(3, rows.Count);
            Assert.AreEqual(3, rows[0]["value"]);
            Assert.AreEqual(13, rows[1]["value"]);
            Assert.AreEqual(23, rows[2]["value"]);
        }
Ejemplo n.º 7
0
        public void DateRange()
        {
            // select
            var rows = myMgr.Query(0, new DateClause(new DateTime(2002, 1, 1), new DateTime(2003, 1, 1))).Rows.ToList();

            Assert.AreEqual(5, rows.Count);
            Assert.AreEqual(2, rows[0]["value"]);
            Assert.AreEqual(12, rows[1]["value"]);
            Assert.AreEqual(3, rows[2]["value"]);
            Assert.AreEqual(13, rows[3]["value"]);
            Assert.AreEqual(23, rows[4]["value"]);

            // this should be an identity filter
            RowFilter filter = new DefaultFilterBuilder(mySchema).CreateDateRangeFilter(new DateTime(2002, 1, 1), new DateTime(2003, 1, 1));

            rows = filter(rows).ToList();

            Assert.AreEqual(5, rows.Count);
            Assert.AreEqual(2, rows[0]["value"]);
            Assert.AreEqual(12, rows[1]["value"]);
            Assert.AreEqual(3, rows[2]["value"]);
            Assert.AreEqual(13, rows[3]["value"]);
            Assert.AreEqual(23, rows[4]["value"]);
        }