public void Apply_ColumnName_CorrectResult() { var builder = new ResultSetBuilder(); var rs = builder.Build(new object[] { new List <object>() { "(null)", 10, 100 }, new List <object>() { "(empty)", 2, 75 }, new List <object>() { "C", 5, 50 } }); rs.Table.Columns[0].ColumnName = "first"; var info = Mock.Of <IPredicateInfo> ( p => p.ComparerType == ComparerType.NullOrEmpty && p.ColumnType == ColumnType.Text && p.Name == "first" ); var factory = new PredicateFilterFactory(); var filter = factory.Instantiate(new IColumnAlias[0], new IColumnExpression[0], info); var result = filter.Apply(rs); Assert.That(result.Rows, Has.Count.EqualTo(2)); }
public void Apply_ColumnIndex_CorrectResult() { var builder = new ResultSetBuilder(); var rs = builder.Build(new object[] { new List <object>() { "(null)", 10, 100 }, new List <object>() { "(empty)", 2, 75 }, new List <object>() { "C", 5, 50 } }); var info = Mock.Of <IPredicateInfo> ( p => p.ComparerType == ComparerType.NullOrEmpty && p.ColumnType == ColumnType.Text && p.Name == "#0" ); var factory = new PredicateFilterFactory(); var filter = factory.Instantiate(new IColumnAlias[0], new IColumnExpression[0], info); var result = filter.Apply(rs); Assert.That(result.Rows, Has.Count.EqualTo(2)); Assert.That(filter.Describe(), Is.StringContaining("null").And.StringContaining("or empty")); }
public NBi.Core.ResultSet.ResultSet Execute(XDocument items) { var result = from item in items.XPathSelectElements(@from) select GetObj(item); var builder = new ResultSetBuilder(); var rows = result.ToArray(); var resultSet = builder.Build(rows); return(resultSet); }
protected IEnumerable <string> GetMembersFromResultSet(Object obj) { var rs = ResultSetBuilder.Build(obj); var members = new List <string>(); foreach (DataRow row in rs.Rows) { members.Add(row.ItemArray[0].ToString()); } return(members); }
public void Apply_MixedExpression_CorrectResult() { var builder = new ResultSetBuilder(); var rs = builder.Build(new object[] { new List <object>() { 1, 10, 100 }, new List <object>() { 2, 2, 75 }, new List <object>() { 3, 5, 50 } }); rs.Table.Columns[2].ColumnName = "c1"; var aliases = new List <IColumnAlias>() { Mock.Of <IColumnAlias>(v => v.Column == 0 && v.Name == "a"), }; var expressions = new List <IColumnExpression>() { Mock.Of <IColumnExpression>(e => e.Value == "Abs([a])+[e]" && e.Name == "d"), Mock.Of <IColumnExpression>(e => e.Value == "[#1]*[c1]" && e.Name == "e") }; var info = Mock.Of <IPredicateInfo> ( p => p.ComparerType == ComparerType.MoreThanOrEqual && p.ColumnType == ColumnType.Numeric && p.Name == "d" && p.Reference == (object)200 ); var factory = new PredicateFilterFactory(); var filter = factory.Instantiate(aliases, expressions, info); var result = filter.Apply(rs); Assert.That(result.Rows, Has.Count.EqualTo(2)); }
public void Apply_Resultset_CorrectResult() { var builder = new ResultSetBuilder(); var row1 = new List <object>() { "A", 10, 100 }; var row2 = new List <object>() { "B", 2, 75 }; var row3 = new List <object>() { "C", 5, 50 }; var rs = builder.Build(new object[] { row1, row2, row3 }); var v1 = Mock.Of <IColumnVariable>(v => v.Column == 1 && v.Name == "a"); var v2 = Mock.Of <IColumnVariable>(v => v.Column == 2 && v.Name == "b"); var variables = new List <IColumnVariable>() { v1, v2 }; var exp = Mock.Of <IColumnExpression>(e => e.Value == "a*b" && e.Name == "c"); var expressions = new List <IColumnExpression>() { exp }; var info = Mock.Of <IPredicateInfo> ( p => p.ComparerType == ComparerType.MoreThanOrEqual && p.ColumnType == ColumnType.Numeric && p.Name == "c" && p.Reference == (object)200 ); var filter = new PredicateFilter(variables, expressions, info); var result = filter.Apply(rs); Assert.That(result.Rows, Has.Count.EqualTo(2)); }
protected ResultSet GetResultSet(Object obj) { return(ResultSetBuilder.Build(obj)); }