public void TryFault_NoExceptionThrown()
        {
            // arrange
            var query = new Mock<ITestExceptionQuery>();
            var target = new TryFaultTarget(query.Object);
            
            // act
            target.TryFault();

            // assert
            query.Verify(x=>x.InFault(), Times.Never());
        }
        public void TryFault_NoExceptionThrown()
        {
            // arrange
            var query  = new Mock <ITestExceptionQuery>();
            var target = new TryFaultTarget(query.Object);

            // act
            target.TryFault();

            // assert
            query.Verify(x => x.InFault(), Times.Never());
        }
        public void TryFault_ExceptionThrown()
        {
            // arrange
            var query = new Mock<ITestExceptionQuery>();
            query.Setup(x => x.ThrowException()).Callback(() => { throw new InvalidOperationException(); });
            var target = new TryFaultTarget(query.Object);

            // act
            Assert.Catch<InvalidOperationException>(target.TryFault);

            // assert
            query.Verify(x => x.InFault(), Times.Once());
        }
        public void TryFault_ExceptionThrown()
        {
            // arrange
            var query = new Mock <ITestExceptionQuery>();

            query.Setup(x => x.ThrowException()).Callback(() => { throw new InvalidOperationException(); });
            var target = new TryFaultTarget(query.Object);

            // act
            Assert.Catch <InvalidOperationException>(target.TryFault);

            // assert
            query.Verify(x => x.InFault(), Times.Once());
        }