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); }
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)); }