/// <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 Method or property name separated by '.'</param> /// <param name="target">Target class in which expression reside</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, ClassInfo <T> target, string[] outputExpressions) { return(new ExpressionTest <T>(target) { Expressions = expressions, _outputExpressions = outputExpressions, _errorMessages = new string[outputExpressions.Length], ActualOutputs = new object[outputExpressions.Length] }); }
private ExpressionTest(ClassInfo <T> target) { Target = target; _errorMessages = new string[1]; ActualOutputs = new object[1]; }
/// <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">Method Name</param> /// <param name="target"> Target class in which expression reside</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> CreateMethodExpression(string method, ClassInfo <T> target, string outputExpression) { return(Expression <T> .Create(method, CreateWithOutputExpression(target, 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="target"> Target class in which expression reside</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, ClassInfo <T> target, string outputExpression) { return(new ExpressionTest <T>(target) { Expressions = new[] { expression }, _outputExpressions = new[] { 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)); }