public async Task GetForwardAddressWhenProviderIsSpecified() { var suite = new GeocoderServiceTestSuite(); var request = "Рыбинск"; var maxResultCount = 5; var googleGeocoderResult = new List <AddressEM> { new AddressEM() }; var googleGeocoderMock = new Mock <IGeocoder>(); googleGeocoderMock .Setup(m => m.Geocode(request, maxResultCount)) .ReturnsAsync(googleGeocoderResult); suite.GeocoderAccessor .Setup(m => m.GetProvider(ProviderKind.Google)) .Returns(googleGeocoderMock.Object); var address = await suite.GeocoderService.Geocode(request, maxResultCount, ProviderKind.Google); suite.GeocoderAccessor .Verify(m => m.GetProvider(It.IsAny <ProviderKind>())); suite.GeocoderAccessor .Verify(m => m.GetProvider(ProviderKind.Google)); googleGeocoderMock .Verify(m => m.Geocode(request, maxResultCount)); }
public async Task GetForwardAddressWhenFirstDefaultProviderHasSuccessResult() { var suite = new GeocoderServiceTestSuite(); var request = "Рыбинск"; var maxResultCount = 7; var firstGeocoderResult = new List <AddressEM> { new AddressEM() }; var firstGeocoderMock = new Mock <IGeocoder>(); firstGeocoderMock .Setup(m => m.Geocode(request, maxResultCount)) .ReturnsAsync(firstGeocoderResult); suite.GeocoderAccessor .Setup(m => m.GetProvider(suite.GeocoderService.DefaultProvidersKind[0])) .Returns(firstGeocoderMock.Object); var address = await suite.GeocoderService.Geocode(request, maxResultCount); suite.GeocoderAccessor .Verify(m => m.GetProvider(It.IsAny <ProviderKind>()), Times.Once); firstGeocoderMock .Verify(m => m.Geocode(request, maxResultCount), Times.Once); }
public async Task ReverseGeocodeWhenFirstDefaultProviderHasSuccessResult() { var suite = new GeocoderServiceTestSuite(); var latitude = 52.455623; var longitude = 36.124467; var firstGeocoderResult = new List <AddressEM> { new AddressEM() }; var firstGeocoderMock = new Mock <IGeocoder>(); firstGeocoderMock .Setup(m => m.ReverseGeocode(latitude, longitude)) .ReturnsAsync(firstGeocoderResult); suite.GeocoderAccessor .Setup(m => m.GetProvider(suite.GeocoderService.DefaultProvidersKind[0])) .Returns(firstGeocoderMock.Object); var address = await suite.GeocoderService.ReverseGeocode(latitude, longitude); suite.GeocoderAccessor .Verify(m => m.GetProvider(It.IsAny <ProviderKind>()), Times.Once); firstGeocoderMock .Verify(m => m.ReverseGeocode(latitude, longitude), Times.Once); }