private static void DelegateFuncTest(MethodInfo method) { IImperativeFacet actionValidationFacet = new ActionValidationFacet(method, null, mockLogger); var facet = (IActionValidationFacet)actionValidationFacet; Assert.IsNotNull(actionValidationFacet.GetMethodDelegate(), method.Name); var parms = method.GetParameters().Select(p => "astring").Cast <object>().Select(MockParm).ToArray(); var target = MockParm(new TestDelegateClass()); Assert.AreEqual($"Validation{parms.Length}", facet.InvalidReason(target, parms)); }
public void TestDisabledFacetAnnotationAsInteraction() { var method = typeof(TestDelegateClass).GetMethod("Func2"); IValidatingInteractionAdvisor facet = new ActionValidationFacet(method, null, mockLogger); var target = Mock(new TestDelegateClass()); var mockIc = new Mock <IInteractionContext>(); mockIc.Setup(ic => ic.Target).Returns(target); var parms = new[] { "a", "b" }.Select(MockParm).ToArray(); mockIc.Setup(ic => ic.ProposedArguments).Returns(parms); var e = facet.CreateExceptionFor(mockIc.Object); Assert.IsInstanceOfType(e, typeof(InvalidException)); Assert.AreEqual("Validation2", e.Message); }