diff options
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs')
-rw-r--r-- | Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs b/Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs new file mode 100644 index 00000000..414c49de --- /dev/null +++ b/Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using NUnit.Framework; +using Xamarin.Forms.Maps; + + +namespace Xamarin.Forms.Core.UnitTests +{ + [TestFixture] + public class GeocoderUnitTests : BaseTestFixture + { + [Test] + public async void AddressesForPosition () + { + Geocoder.GetAddressesForPositionFuncAsync = GetAddressesForPositionFuncAsync; + var geocoder = new Geocoder (); + var result = await geocoder.GetAddressesForPositionAsync (new Position (1, 2)); + Assert.AreEqual (new String[] { "abc", "def" }, result); + } + + async Task<IEnumerable<string>> GetAddressesForPositionFuncAsync (Position position) + { + Assert.AreEqual (new Position (1, 2), position); + return new string[] {"abc", "def"}; + } + + [Test] + public async void PositionsForAddress () { + Geocoder.GetPositionsForAddressAsyncFunc = GetPositionsForAddressAsyncFunc ; + var geocoder = new Geocoder (); + var result = await geocoder.GetPositionsForAddressAsync ("quux"); + Assert.AreEqual (new Position [] { new Position (1, 2), new Position (3, 4) }, result); + } + + async Task<IEnumerable<Position>> GetPositionsForAddressAsyncFunc (string address) + { + Assert.AreEqual ("quux", address); + return new Position[] {new Position (1, 2), new Position (3, 4)}; + } + } +} |