From d87f585eadca8a810c98d226ac17cf8601e673c7 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 4 Mar 2016 19:46:06 +0100 Subject: [PATCH] Fixed changes affected by last commit. --- .../Data/ExpressionObserverTests_Lifetime.cs | 21 ++++++++++++++----- .../Data/ExpressionObserverTests_Property.cs | 3 +-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Lifetime.cs b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Lifetime.cs index cfbc4bc29f..ac82e411be 100644 --- a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Lifetime.cs +++ b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Lifetime.cs @@ -13,7 +13,7 @@ namespace Perspex.Markup.UnitTests.Data { public class ExpressionObserverTests_Lifetime { - [Fact(Skip = "Not working yet")] + [Fact] public void Should_Complete_When_Source_Observable_Completes() { var source = new BehaviorSubject(1); @@ -26,6 +26,19 @@ namespace Perspex.Markup.UnitTests.Data Assert.True(completed); } + [Fact] + public void Should_Complete_When_Update_Observable_Completes() + { + var update = new Subject(); + var target = new ExpressionObserver(() => 1, "Foo", update); + var completed = false; + + target.Subscribe(_ => { }, () => completed = true); + update.OnCompleted(); + + Assert.True(completed); + } + [Fact] public void Should_Unsubscribe_From_Source_Observable() { @@ -42,8 +55,7 @@ namespace Perspex.Markup.UnitTests.Data } Assert.Equal(new[] { PerspexProperty.UnsetValue, "foo" }, result); - Assert.Equal(1, source.Subscriptions.Count); - Assert.NotEqual(Subscription.Infinite, source.Subscriptions[0].Unsubscribe); + Assert.All(source.Subscriptions, x => Assert.NotEqual(Subscription.Infinite, x.Unsubscribe)); } [Fact] @@ -61,8 +73,7 @@ namespace Perspex.Markup.UnitTests.Data } Assert.Equal(new[] { "foo" }, result); - Assert.Equal(1, update.Subscriptions.Count); - Assert.NotEqual(Subscription.Infinite, update.Subscriptions[0].Unsubscribe); + Assert.All(update.Subscriptions, x => Assert.NotEqual(Subscription.Infinite, x.Unsubscribe)); } [Fact] diff --git a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs index ebf98a363e..a24e10f650 100644 --- a/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs +++ b/tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Property.cs @@ -250,8 +250,7 @@ namespace Perspex.Markup.UnitTests.Data } Assert.Equal(new[] { PerspexProperty.UnsetValue, "foo", "bar" }, result); - Assert.Equal(1, source.Subscriptions.Count); - Assert.NotEqual(Subscription.Infinite, source.Subscriptions[0].Unsubscribe); + Assert.All(source.Subscriptions, x => Assert.NotEqual(Subscription.Infinite, x.Unsubscribe)); } [Fact]