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