object[] EvalArguments(object obj, Type objType) { var env = new ObjectEvalEnv (obj, objType); var vals = new object[Arguments.Count]; for (var i = 0; i < vals.Length; i++) { var a = Arguments[i]; vals[i] = CreateObject (a.ValueType, a.ValueString, env); } return vals; }
void CheckAsserts(object obj, Type objType) { if (Result == TestResult.Fail) return; if (string.IsNullOrWhiteSpace (AssertString)) return; var expr = Expression.Parse (AssertString); var oenv = new ObjectEvalEnv (obj, objType); var env = new LocalsEvalEnv (oenv); env["$"] = Value; var val = expr.Eval (env); if (val != null && val is bool && (bool)val) { Result = TestResult.Pass; } else { Result = TestResult.Fail; FailInfo = "Assert Fail"; } }