|
|
|
@ -4,6 +4,7 @@ |
|
|
|
using System; |
|
|
|
using System.Reactive.Linq; |
|
|
|
using System.Reactive.Subjects; |
|
|
|
using Microsoft.Reactive.Testing; |
|
|
|
using Perspex.Data; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
@ -81,6 +82,22 @@ namespace Perspex.Base.UnitTests |
|
|
|
Assert.Equal("foodefault", target.GetValue(Class1.FooProperty)); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Observable_Is_Unsubscribed_When_Subscription_Disposed() |
|
|
|
{ |
|
|
|
var scheduler = new TestScheduler(); |
|
|
|
var source = scheduler.CreateColdObservable<object>(); |
|
|
|
var target = new Class1(); |
|
|
|
|
|
|
|
var subscription = target.Bind(Class1.FooProperty, source); |
|
|
|
Assert.Equal(1, source.Subscriptions.Count); |
|
|
|
Assert.Equal(Subscription.Infinite, source.Subscriptions[0].Unsubscribe); |
|
|
|
|
|
|
|
subscription.Dispose(); |
|
|
|
Assert.Equal(1, source.Subscriptions.Count); |
|
|
|
Assert.Equal(0, source.Subscriptions[0].Unsubscribe); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Two_Way_Separate_Binding_Works() |
|
|
|
{ |
|
|
|
|