summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs')
-rw-r--r--Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs42
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)};
+ }
+ }
+}