public async Task IF_current_location_is_null_SHOULD_warn() { //Arrange MockProxy.Where_GetCurrentLocationAsync_returns(null); //Act Sut.Connect(_requirements).Subscribe(next => { }, ex => { ExceptionTaskCompletionSource.SetResult(ex); }); //Assert MockAnalyticsService.VerifyTrace("Current location is null", LogSeverity.Warning); }
public async Task IF_last_known_location_is_null_SHOULD_trace() { //Arrange MockProxy.Where_GetLastKnownLocationAsync_returns(null); //Act Sut.Connect(_requirements).Subscribe(next => { }, ex => { ExceptionTaskCompletionSource.SetResult(ex); }); //Assert MockAnalyticsService.VerifyTrace("Last known location is null"); }
public async Task IF_current_location_is_invalid_SHOULD_error() { //Arrange MockProxy.Where_GetLastKnownLocationAsync_returns(new Location(-212, 22, DateTimeOffset.Now)); //Act Sut.Connect(_requirements).Subscribe(next => { }, ex => { ExceptionTaskCompletionSource.SetResult(ex); }); var exception = await ExceptionTaskCompletionSource.Task; //Assert Assert.That(exception.ToError(), Is.EqualTo(GeolocationErrors.InvalidLatitude)); MockAnalyticsService.VerifyTrace(GeolocationErrors.InvalidLatitude.ToString(), LogSeverity.Error); }
public async Task IF_current_location_throws_SHOULD_error() { //Arrange MockProxy.Where_GetCurrentLocationAsync_throws(new Exception("oops")); //Act Sut.Connect(_requirements).Subscribe(next => { }, ex => { ExceptionTaskCompletionSource.SetResult(ex); }); var exception = await ExceptionTaskCompletionSource.Task; //Assert Assert.That(exception.ToError(), Is.EqualTo(GeolocationErrors.Unexpected)); Assert.That(exception.InnerException.Message, Is.EqualTo("oops")); MockAnalyticsService.VerifyLogException <Exception>("oops"); }