/// <summary> /// Initializes resolvers. /// </summary> static ModelResolvers() { Mock <ExpressionResolver> exprResolverMock = new Mock <ExpressionResolver>(); exprResolverMock.Setup(o => o(null)).Returns(() => { return(new Expression()); }); exprResolverMock.Setup(o => o(It.IsNotNull <IExpression>())).Returns((IExpression parentExpr) => { return(new Expression(parentExpr)); }); Mock <RuleExpressionResolver> ruleExprResolverMock = new Mock <RuleExpressionResolver>(); ruleExprResolverMock.Setup(o => o(It.IsNotNull <IExpression>(), It.IsAny <IRuleset>(), It.IsAny <string>(), It.IsAny <int?>())) .Returns((IExpression expression, IRuleset containingRuleset, string errorCode, int?errorLevel) => { return(new RuleExpression(expression, containingRuleset, errorCode, errorLevel)); }); Mock <JoinExpressionResolver> joinExprResolverMock = new Mock <JoinExpressionResolver>(); joinExprResolverMock.Setup(o => o(It.IsNotNull <IExpression>())).Returns((IExpression expression) => { return(new JoinExpression(expression)); }); Mock <DataStructureResolver> dsResolverMock = new Mock <DataStructureResolver>(); dsResolverMock.Setup(o => o(null, null, null)).Returns(() => { return(new DataStructure()); }); dsResolverMock.Setup(o => o(It.IsNotNull <string>(), It.IsNotNull <ComponentType?>(), It.IsNotNull <BasicDataType?>())) .Returns((string compName, ComponentType? compType, BasicDataType? dataType) => { return(new DataStructure(compName, (ComponentType)compType, (BasicDataType)dataType)); }); Mock <TransformationSchemaResolver> schemaResolverMock = new Mock <TransformationSchemaResolver>(); schemaResolverMock.Setup(o => o()).Returns(() => { return(new TransformationSchema()); }); ModelResolvers.ExprResolver = exprResolverMock.Object; ModelResolvers.RuleExprResolver = ruleExprResolverMock.Object; ModelResolvers.JoinExprResolver = joinExprResolverMock.Object; ModelResolvers.DsResolver = dsResolverMock.Object; ModelResolvers.SchemaResolver = schemaResolverMock.Object; ModelResolvers.OperatorResolver = ModelResolvers.InitOperatorResolver(); }
/// <summary> /// Initializes a new instance of the <see cref="ExpressionFactory"/> class. /// </summary> /// <param name="exprResolver">The expression resolver.</param> /// <param name="ruleExprResolver">The rule expression resolver.</param> /// <param name="joinExprResolver">The join expression resolver.</param> /// <param name="opResolver">The operator resolver.</param> public ExpressionFactory(ExpressionResolver exprResolver, RuleExpressionResolver ruleExprResolver, JoinExpressionResolver joinExprResolver, OperatorResolver opResolver) { this.ExprResolver = exprResolver; this.RuleExprResolver = ruleExprResolver; this.OperatorResolver = opResolver; this.JoinExprResolver = joinExprResolver; }