public void InvokeOperation_VariousParameterTypes() { TestProvider_Scenarios provider = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios); InvokeOperation invoke = provider.VariousParameterTypes("hello", 2, true, TestHelperMethods.DefaultOperationAction, null); EnqueueConditional(() => invoke.IsComplete); EnqueueCallback(delegate { // 8 because "hello".Length (5) + 2 + true (1) = 8. Assert.AreEqual("VariousParameterTypes", invoke.OperationName); Assert.AreEqual(3, invoke.Parameters.Count); Assert.AreEqual("hello", invoke.Parameters["str"]); Assert.AreEqual(2, invoke.Parameters["integer"]); Assert.AreEqual(true, invoke.Parameters["boolean"]); Assert.AreEqual(8, (int)invoke.Value); }); EnqueueTestComplete(); }
public void InvokeOperation_VariousParameterTypes_WithInvalidParameter() { TestProvider_Scenarios provider = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios); ValidationException expectedException = null; try { InvokeOperation invoke = provider.VariousParameterTypes(null, 2, true, TestHelperMethods.DefaultOperationAction, null); } catch (ValidationException e) { expectedException = e; } Assert.IsNotNull(expectedException); Assert.AreEqual(typeof(RequiredAttribute), expectedException.ValidationAttribute.GetType()); Assert.AreEqual("The str field is required.", expectedException.Message); EnqueueTestComplete(); }