public async Task GivenPdfNotInStore_WhenDeleteCalled_ThenReturnBadRequest()
        {
            PDFLibraryController controller = GetController();

            _mockStorage.Setup(s => s.CheckExists(TEST_FILENAME1)).
            Returns(Task.Factory.StartNew(() => false));

            var result = await controller.Delete(TEST_FILENAME1);

            Assert.IsInstanceOf <NotFoundResult>(result);

            _mockStorage.Verify(s => s.CheckExists(TEST_FILENAME1), Times.Once);
            _mockStorage.Verify(s => s.Delete(TEST_FILENAME1), Times.Never);
        }
        public void GivenStoreThrows_WhenDeleteCalled_ReturnReThrow()
        {
            PDFLibraryController controller = GetController();

            _mockStorage.Setup(s => s.CheckExists(TEST_FILENAME1)).
            Returns(Task.Factory.StartNew(() => true));

            var thrown = new Exception();

            _mockStorage.Setup(s => s.Delete(TEST_FILENAME1)).Throws(thrown);

            var ex = Assert.Throws <AggregateException>(() =>
            {
                var ret = controller.Delete(TEST_FILENAME1).Result;
            });

            Assert.AreEqual(thrown, ex.InnerException);
        }