Пример #1
0
        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));
        }
Пример #2
0
        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);
        }