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" ] ); }
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 ); }
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" ] ); }
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" ] ); }
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" ] ); }
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" ] ); }
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" ] ); }