Exemplo n.º 1
0
        public async Task Subscription_Toggles_Updating()
        {
            var lm  = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            await GetLocationAsync(lm, sut);
            await GetLocationAsync(lm, sut);
        }
Exemplo n.º 2
0
        public async Task Subscription_Toggles_Updating()
        {
            var lm = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            await GetLocationAsync(lm, sut);
            await GetLocationAsync(lm, sut);
        }
Exemplo n.º 3
0
        public async Task Can_Get_Single_Location()
        {
            var lm = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            var location = await sut.Position.FirstAsync();
            Console.WriteLine(location.Coordinate);
            Assert.False(lm.IsUpdating);
        }
Exemplo n.º 4
0
        public async Task Can_Get_Single_Location()
        {
            var lm  = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            var location = await sut.Position.FirstAsync();

            Console.WriteLine(location.Coordinate);
            Assert.False(lm.IsUpdating);
        }
Exemplo n.º 5
0
        public void Updates_Location_On_Subscription()
        {
            var lm = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            Assert.False(lm.IsUpdating);
            var subscription = sut.Position.Subscribe(x => { });
            Assert.True(lm.IsUpdating);
            subscription.Dispose();
            Assert.False(lm.IsUpdating);
        }
Exemplo n.º 6
0
        public void Updates_Location_On_Subscription()
        {
            var lm  = TestableLocationManager.Create();
            var sut = new iOSRxPosition(() => lm);

            Assert.False(lm.IsUpdating);
            var subscription = sut.Position.Subscribe(x => { });

            Assert.True(lm.IsUpdating);
            subscription.Dispose();
            Assert.False(lm.IsUpdating);
        }
Exemplo n.º 7
0
        async Task GetLocationAsync(TestableLocationManager lm, iOSRxPosition sut)
        {
            var tcs = new TaskCompletionSource <Position>();
            var sub = sut.Position.Subscribe(x => tcs.TrySetResult(x));

            Assert.True(lm.IsUpdating, "Not updating after subscribe");

            await tcs.Task;

            // Unsubscribe
            sub.Dispose();
            Assert.False(lm.IsUpdating, "Still updating after unsubscribe");
        }
Exemplo n.º 8
-1
        async Task GetLocationAsync(TestableLocationManager lm, iOSRxPosition sut)
        {
            var tcs = new TaskCompletionSource<Position>();
            var sub = sut.Position.Subscribe(x => tcs.TrySetResult(x));
            Assert.True(lm.IsUpdating, "Not updating after subscribe");

            await tcs.Task;

            // Unsubscribe
            sub.Dispose();
            Assert.False(lm.IsUpdating, "Still updating after unsubscribe");
        }