public static InArgument <T> GetInArgumentFromExpectedNode <T>(TestExpression te) { InArgument <T> retInArg = null; // leaf node: if (te.GetType() == typeof(TestExpression)) { if (te.ExpectedNode is Activity <T> ) { retInArg = (Activity <T>)te.ExpectedNode; } else if (te.ExpectedNode is Variable <T> ) { retInArg = (Variable <T>)te.ExpectedNode; } else { //Log.TraceInternal("Expect a generic type with type parameter: {0}", typeof(T).ToString()); //Log.TraceInternal("Expected node type is: {0}", te.ExpectedNode.GetType().ToString()); throw new NotSupportedException("Not supported expected node type"); } } // non-leaf node: else if (te is TestBinaryExpression || te is TestUnaryExpression) { retInArg = (Activity <T>)te.CreateExpectedActivity(); } return(retInArg); }
public static void ValidateReferenceExpressionXaml <T>(TestExpression te) { Expression <Func <ActivityContext, T> > lambdaExpression = (Expression <Func <ActivityContext, T> >)te.CreateLambdaExpresson <T>(); //Log.TraceInternal("Expression: {0}", lambdaExpression.ToString()); Activity expectedActivity = te.CreateExpectedActivity() as Activity; Activity actualActivity = ExpressionServices.ConvertReference(lambdaExpression); ValidateActivity(expectedActivity, actualActivity); }
private static readonly string s_path = string.Empty; //DirectoryAssistance.GetTestBinsDirectory("TempFile.txt"); public static void ValidateExpressionXaml <T>(TestExpression te) { Activity expectedActivity = null, actualActivity = null; Expression <Func <ActivityContext, T> > lambdaExpression = null; lambdaExpression = (Expression <Func <ActivityContext, T> >)te.CreateLambdaExpresson <T>(); //Log.TraceInternal("Expression: {0}", lambdaExpression.ToString()); expectedActivity = te.CreateExpectedActivity() as Activity; if (te.ExpectedConversionException != null) { ExceptionHelpers.CheckForException( te.ExpectedConversionException.GetType(), te.ExpectedConversionException.Message, () => { actualActivity = ExpressionServices.Convert(lambdaExpression); }, true); } else { actualActivity = ExpressionServices.Convert(lambdaExpression); ValidateActivity(expectedActivity, actualActivity); } }
static protected Activity <T> GetWorkflowElementFromExpectedNode <T>(TestExpression te) { Activity <T> we = null; if (te.ExpectedConversionException != null) { return(null); } // leaf node: if (te.GetType() == typeof(TestExpression)) { if (te.ExpectedNode is Activity <T> ) { we = (Activity <T>)te.ExpectedNode; } else if (te.ExpectedNode is Variable <T> ) { we = new VariableValue <T>() { Variable = (Variable <T>)te.ExpectedNode }; } else { throw new NotSupportedException("Not supported expected node type"); } } // non-leaf node: else if (te is TestBinaryExpression || te is TestUnaryExpression) { we = (Activity <T>)te.CreateExpectedActivity(); } return(we); }