summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/GeocoderUnitTests.cs
blob: 414c49deb62441e494c61df2ef084b243bfc65fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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)};
		}
	}
}