/// <summary> /// Create ExpressionTest instance usually used to test expression output with expression 1st parameter value e.g. setters /// </summary> /// <param name="expression">Field or property name separated by '.'</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateWithExpression(string expression) { return(new ExpressionTest <T>(ClassInfo <T> .Create()) { Expressions = new[] { expression }, _outputExpressions = new[] { "@p0" } }); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with specific class return type /// </summary> /// <param name="expression">Field or property name separated by '.'</param> /// <param name="expectedOutput">Expected output of expression</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateTest(string expression, object expectedOutput) { return(new ExpressionTest <T>(ClassInfo <T> .Create()) { Expressions = new[] { expression }, ExpectedOutputs = new[] { expectedOutput } }); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with primitive, instances or primitive collections return type /// </summary> /// <param name="expectedOutput">Expected output of expression</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateTest(object expectedOutput) { return(CreateTest(ClassInfo <T> .Create(), expectedOutput)); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with primitive, instances /// </summary> /// <param name="expressions">Field or property name separated by '.'</param> /// <param name="outputExpressions">Expression e.g. field, expression or property to get Expected output of expression</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateWithOutputExpression(string[] expressions, string[] outputExpressions) { return(CreateWithOutputExpression(expressions, ClassInfo <T> .Create(), outputExpressions)); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with primitive, instances or primitive collections return type /// </summary> /// <param name="method"></param> /// <param name="outputExpression">Expression e.g. field, expression or property to get Expected output of expression</param> /// <returns>ExpressionTest object</returns> public static Expression <T> CreateMethodOutputExpression(string method, string outputExpression) { return(Expression <T> .Create(method, CreateWithOutputExpression(ClassInfo <T> .Create(), outputExpression))); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with primitive, instances or primitive collections return type /// </summary> /// <param name="expression"></param> /// <param name="outputExpression">Expression e.g. field, expression or property to get Expected output of expression</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateWithOutputExpression(string expression, string outputExpression) { return(CreateWithOutputExpression(expression, ClassInfo <T> .Create(), outputExpression)); }
/// <summary> /// Create ExpressionTest instance usually used to test expression with specific class return type /// </summary> /// <param name="expressions">Field or property name separated by '.'</param> /// <param name="expectedOutputs">Expected output of expressions</param> /// <returns>ExpressionTest object</returns> public static ExpressionTest <T> CreateTest(string[] expressions, object[] expectedOutputs) { return(CreateTest(expressions, ClassInfo <T> .Create(), expectedOutputs)); }