public void when_matching_exception_is_thrown_by_inside_behavior_it_should_be_handled() { var cut = new AsyncTestInterceptExceptionBehavior <ArgumentException> { InsideBehavior = new AsyncThrowingBehavior <ArgumentException>() }; var testTask = new Task(cut.Invoke); testTask.RunSynchronously(); cut.HandledException.ShouldBeOfType <ArgumentException>(); }
public void when_non_matching_exception_is_thrown_should_handled_should_not_be_invoked() { var cut = new AsyncTestInterceptExceptionBehavior <ArgumentException> { InsideBehavior = new AsyncThrowingBehavior <WebException>() }; cut.SetShouldHandle(false); var testTask = new Task(cut.Invoke); testTask.RunSynchronously(); cut.ShouldHandleCalled.ShouldBeFalse(); cut.HandledException.ShouldBeNull(); }
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(); }
public void invoke_should_throw_an_exception_when_no_inside_behavior_is_set() { var interceptExceptionBehavior = new AsyncTestInterceptExceptionBehavior <ArgumentException>(); typeof(FubuAssertionException).ShouldBeThrownBy(interceptExceptionBehavior.Invoke); }