public void should_invoke_inside_behavior()
        {
            var insideBehavior = new AsyncDoNothingBehavior();
            var cut            = new AsyncTestInterceptExceptionBehavior <ArgumentException>
            {
                InsideBehavior = insideBehavior
            };

            var testTask = new Task(cut.Invoke);

            testTask.RunSynchronously();

            insideBehavior.Invoked.ShouldBeTrue();
        }
        public void when_no_exception_is_thrown_none_should_be_handled()
        {
            var insideBehavior = new AsyncDoNothingBehavior();
            var cut            = new AsyncTestInterceptExceptionBehavior <ArgumentException>
            {
                InsideBehavior = insideBehavior
            };

            var testTask = new Task(cut.Invoke);

            testTask.RunSynchronously();

            cut.ShouldHandleCalled.ShouldBeFalse();
            cut.HandledException.ShouldBeNull();
        }