public static void TestBindParams(DynamicMetaObject target, DynamicMetaObject value) { SetMemberBinder binder = new TestSetMemberBinder("AnyProperty"); ExceptionTestHelper.ExpectException <ArgumentNullException>(() => { var result = target.BindSetMember(null, value); }); ExceptionTestHelper.ExpectException <ArgumentNullException>(() => { var result = target.BindSetMember(binder, null); }); }
public static void TestMetaObject(DynamicMetaObject target, string name, DynamicMetaObject value, string expectedMethodSignature, bool isValid = true) { SetMemberBinder binder = new TestSetMemberBinder(name); DynamicMetaObject result = target.BindSetMember(binder, value); Assert.IsNotNull(result); MethodCallExpression expression = result.Expression as MethodCallExpression; Assert.IsNotNull(expression); Assert.AreEqual <string>(expectedMethodSignature, expression.Method.ToString()); }
public void BindSetMemberTest() { JsonValue value = AnyInstance.AnyJsonObject; string expectedMethodSignature = "System.Json.JsonValue SetValue(System.String, System.Object)"; DynamicMetaObject target = GetJsonValueDynamicMetaObject(value); DynamicMetaObject arg = new DynamicMetaObject(Expression.Parameter(typeof(int)), BindingRestrictions.Empty, AnyInstance.AnyInt); TestSetMemberBinder.TestBindParams(target, arg); foreach (KeyValuePair <string, JsonValue> pair in value) { TestSetMemberBinder.TestMetaObject(target, pair.Key, arg, expectedMethodSignature); } }
public static void TestMetaObject(DynamicMetaObject target, string name, DynamicMetaObject value, string expectedMethodSignature, bool isValid = true) { SetMemberBinder binder = new TestSetMemberBinder(name); DynamicMetaObject result = target.BindSetMember(binder, value); Assert.IsNotNull(result); MethodCallExpression expression = result.Expression as MethodCallExpression; Assert.IsNotNull(expression); Assert.AreEqual<string>(expectedMethodSignature, expression.Method.ToString()); }
public static void TestBindParams(DynamicMetaObject target, DynamicMetaObject value) { SetMemberBinder binder = new TestSetMemberBinder("AnyProperty"); ExceptionTestHelper.ExpectException<ArgumentNullException>(() => { var result = target.BindSetMember(null, value); }); ExceptionTestHelper.ExpectException<ArgumentNullException>(() => { var result = target.BindSetMember(binder, null); }); }