Exemplo n.º 1
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" ] );
        }
Exemplo n.º 2
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 );
        }
Exemplo n.º 3
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" ] );
        }
Exemplo n.º 4
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" ] );
        }
Exemplo n.º 5
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" ] );
        }
Exemplo n.º 6
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" ] );
        }
Exemplo n.º 7
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" ] );
        }