Exemplo n.º 1
0
        public void FilterNodeTest()
        {
            var node = new FilterNode
            {
                Source = new ConstantScanNode
                {
                    Values =
                    {
                        new Entity {
                            ["firstname"] = new SqlString("Mark", CultureInfo.CurrentCulture.LCID, SqlCompareOptions.IgnoreCase | SqlCompareOptions.IgnoreNonSpace)
                        },
                        new Entity {
                            ["firstname"] = new SqlString("Joe", CultureInfo.CurrentCulture.LCID, SqlCompareOptions.IgnoreCase | SqlCompareOptions.IgnoreNonSpace)
                        }
                    },
                    Schema =
                    {
                        ["firstname"] = typeof(SqlString)
                    }
                },
                Filter = new BooleanComparisonExpression
                {
                    FirstExpression = new ColumnReferenceExpression
                    {
                        MultiPartIdentifier = new MultiPartIdentifier
                        {
                            Identifiers =
                            {
                                new Identifier {
                                    Value = "firstname"
                                }
                            }
                        }
                    },
                    ComparisonType   = BooleanComparisonType.Equals,
                    SecondExpression = new StringLiteral {
                        Value = "Mark"
                    }
                }
            };

            var results = node.Execute(_dataSources, new StubOptions(), null, null).ToArray();

            Assert.AreEqual(1, results.Length);
            Assert.AreEqual("Mark", ((SqlString)results[0]["firstname"]).Value);
        }