Esempio n. 1
0
        public async Task GetPeople_Broken1_ReturnsPeople()
        {
            var fakeReader = new BrokenReader(1);
            var retryDelay = new TimeSpan(0);
            var reader     = new RetryReader(fakeReader, retryDelay);

            var result = await reader.GetPeople();

            Assert.IsNotNull(result);
        }
        public async Task GetPeople_OnNoException_NothingLogged()
        {
            var wrapped = new BrokenReader(0);
            var logger  = new StringLogger();
            var reader  = new ExceptionLoggingReader(wrapped, logger);

            await reader.GetPeople();

            Assert.IsEmpty(logger.Log);
        }
Esempio n. 3
0
        public async Task GetPeople_Broken3_ThrowsException()
        {
            var fakeReader = new BrokenReader(3);
            var retryDelay = new TimeSpan(0);
            var reader     = new RetryReader(fakeReader, retryDelay);

            try
            {
                var result = await reader.GetPeople();

                Assert.Fail("Exception was not thrown");
            }
            catch (Exception)
            {
                Assert.Pass("Exception thrown");
            }
        }
        public async Task GetPeople_OnException_ExceptionLogged()
        {
            var wrapped         = new BrokenReader(1);
            var logger          = new StringLogger();
            var reader          = new ExceptionLoggingReader(wrapped, logger);
            var expectedMessage = "INVALIDEXCEPTIONMESSAGE";

            try
            {
                await reader.GetPeople();

                Assert.Fail("No exception thrown");
            }
            catch (Exception ex)
            {
                expectedMessage = ex.Message;
            }

            Assert.That(() => logger.Log.Contains(expectedMessage));
        }