コード例 #1
0
        public void Index_Exception()
        {
            // Arrange
            var fakeExceptionText = "TEST";
            var fakeRepository    = new FakeCurrencyRespository_Exception();

            fakeRepository.ExceptionText = fakeExceptionText;
            HomeController controller = new HomeController(fakeRepository);

            try
            {
                // Act
                var resultTask = controller.Index();
                resultTask.Wait();
                throw new Exception("No exception is thrown by controller.");
            }
            catch (AggregateException ex)
            {
                // Assert
                Assert.AreEqual(typeof(Exception), ex.InnerException.GetType());
                Assert.AreEqual(fakeExceptionText, ex.InnerException.Message);
            }
        }
コード例 #2
0
        public void Convert_Exception()
        {
            // Arrange
            var fakeRepository = new FakeCurrencyRespository_Exception();
            var controller     = new ExchangeController(fakeRepository);

            try
            {
                // Act
                var convertTask = controller.Convert("10", "HUF", "USD");
                convertTask.Wait();
                throw new Exception("No exception is thrown by controller.");
            }
            catch (AggregateException ex)
            {
                // Assert
                Assert.AreEqual(typeof(HttpResponseException), ex.InnerException.GetType());
                var innerEx      = ex.InnerException as HttpResponseException;
                var innerContent = innerEx.Response.Content.ReadAsStringAsync();
                innerContent.Wait();
                Assert.AreEqual(Messages.ConvertErrorMessage, innerContent.Result);
            }
        }