public void Delete_ThrowsException_WhenHobbitDoesNotExist()
        {
            long someId;
            Mock<IDataManager<Hobbit>> mockHobbitManager = new Mock<IDataManager<Hobbit>>();
            mockHobbitManager.Setup(m => m.TryGet(_testHobbit, out someId)).Returns(false);

            HobbitController controller = new HobbitController(mockHobbitManager.Object);

            Assert.Throws<HttpResponseException>(() => controller.Delete(ID));
        }
        public void Delete_ThrowsException_WhenDeleteFails()
        {
            Hobbit someHobbit;
            Mock<IDataManager<Hobbit>> mockHobbitManager = new Mock<IDataManager<Hobbit>>();
            mockHobbitManager.Setup(m => m.TryGet(ID, out someHobbit)).Returns(true);
            mockHobbitManager.Setup(m => m.Delete(ID)).Returns(false);

            HobbitController controller = new HobbitController(mockHobbitManager.Object);

            Assert.Throws<HttpResponseException>(() => controller.Delete(ID));
        }
        public void Delete_CompletesSuccessfully()
        {
            Hobbit someHobbit;
            Mock<IDataManager<Hobbit>> mockHobbitManager = new Mock<IDataManager<Hobbit>>();
            mockHobbitManager.Setup(m => m.TryGet(ID, out someHobbit)).Returns(true);
            mockHobbitManager.Setup(m => m.Delete(ID)).Returns(true);

            HobbitController controller = new HobbitController(mockHobbitManager.Object);

            controller.Delete(ID);

            mockHobbitManager.Verify(m => m.Delete(ID), Times.Once());
        }