Example #1
0
 public Expression Bind(Expression expression, Type elementType)
 {
     _alias       = new Alias();
     _finder      = new FieldFinder();
     _elementType = elementType;
     return(Visit(expression));
 }
Example #2
0
 public Cache(Type type)
 {
     Type       = type;
     Fields     = new FieldFinder(this);
     Properties = new PropertyFinder(this);
     Methods    = new MethodFinder(this);
 }
 public Expression Bind(Expression expression, Type elementType)
 {
     _alias = new Alias();
     _finder = new FieldFinder();
     _elementType = elementType;
     return Visit(expression);
 }
Example #4
0
 public Expression Bind(Expression expression, Type elementType)
 {
     _alias       = new Alias();
     _memberMap   = new Dictionary <MemberInfo, Expression>();
     _finder      = new FieldFinder(_memberMap);
     _elementType = elementType;
     return(Visit(expression));
 }
Example #5
0
 public Expression Bind(Expression expression, Type elementType)
 {
     _alias = new Alias();
     _memberMap = new Dictionary<MemberInfo, Expression>();
     _finder = new FieldFinder(_memberMap);
     _elementType = elementType;
     return Visit(expression);
 }
        public void Finds_by_exact_text()
        {
            var fields = new FieldFinder(Driver, "Some container labeled radio option", Root, DefaultOptions).Find(Options.Exact);

            Assert.That(fields.Select(e => e.Id).OrderBy(id => id), Is.EquivalentTo(new[]
            {
                "containerLabeledRadioFieldExactMatchId"
            }));
        }
Example #7
0
        public void Finds_by_substring_text()
        {
            var fields = new FieldFinder(Driver, "Some for labeled radio option", Root, DefaultOptions).Find(Options.Substring);

            Assert.That(fields.Select(e => e.Id).OrderBy(id => id), Is.EquivalentTo(new[]
            {
                "forLabeledRadioFieldExactMatchId",
                "forLabeledRadioFieldPartialMatchId"
            }));
        }
Example #8
0
        public IXUnitSetupGenerator GetInstance(IClassUnderTestFinder classUnderTestFinder)
        {
            var classUnderTestNameFinder       = new ClassUnderTestNameFinder();
            var constructorParametersExtractor = new ConstructorParametersExtractor();
            var fieldFinder                  = new FieldFinder();
            var memberFinder                 = new MemberFinder();
            var constructorGenerator         = new ConstructorGenerator();
            var expressionStatementGenerator = new ExpressionStatementGenerator();
            var fieldNameGenerator           = new FieldNameGenerator();
            var fieldDeclarationGenerator    = new FieldDeclarationGenerator(fieldNameGenerator);
            var methodGenerator              = new MethodGenerator();
            var usingDirectivesGenerator     = new UsingDirectivesGenerator();

            var setupMethodBodyBuilder = new SetupMethodBodyBuilder(constructorParametersExtractor, expressionStatementGenerator, fieldNameGenerator);

            return(new XUnitSetupGenerator(classUnderTestNameFinder, classUnderTestFinder, constructorParametersExtractor, fieldDeclarationGenerator, setupMethodBodyBuilder, constructorGenerator, usingDirectivesGenerator, memberFinder, fieldFinder));
        }
Example #9
0
            /// <summary>
            /// Tries to get a mapped field and a constant from the given BinaryExpression.
            /// </summary>
            /// <param name="expression">
            /// The BinaryExpression to get the field and constant for.
            /// </param>
            /// <param name="value">
            /// If successful, holds the Expression which defines the constant.
            /// </param>
            /// <returns>
            /// An instance of MappedField.
            /// </returns>
            private MappedField GetFieldAndConstant(BinaryExpression expression, out Expression value)
            {
                Expression firstMember;
                Expression secondMember;

                firstMember  = new FieldFinder(Owner).GetField(expression.Left);
                secondMember = new FieldFinder(Owner).GetField(expression.Right);

                if (null != firstMember && null != secondMember)
                {
                    if (IsConstant(secondMember))
                    {
                        value = expression.Right;
                        return(Owner.GetMappedField(firstMember));
                    }
                    else if (IsConstant(firstMember))
                    {
                        value = expression.Left;
                        return(Owner.GetMappedField(secondMember));
                    }
                    else
                    {
                        throw new NotSupportedException(String.Format(
                                                            "Queries comparing two members are not supported: {0}.", expression));
                    }
                }
                else if (null != firstMember)
                {
                    value = expression.Right;
                    return(Owner.GetMappedField(firstMember));
                }
                else if (null != secondMember)
                {
                    value = expression.Left;
                    return(Owner.GetMappedField(secondMember));
                }

                throw new NotSupportedException(String.Format(
                                                    "The query is not supported: {0}.", expression));
            }
Example #10
0
 public FieldFinderTests()
 {
     _target = new FieldFinder();
 }