Browse Source

Move WeakReference setup to separate method.

Trying to fix #655.
pull/650/merge
Steven Kirk 10 years ago
parent
commit
cecbe8fefe
  1. 17
      tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Direct.cs

17
tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Direct.cs

@ -360,15 +360,7 @@ namespace Avalonia.Base.UnitTests
public void Binding_To_Direct_Property_Gets_Collected_When_Completed() public void Binding_To_Direct_Property_Gets_Collected_When_Completed()
{ {
var target = new Class2(); var target = new Class2();
var weakSource = SetupDirectBinding(target);
Func<WeakReference> setupBinding = () =>
{
var source = new Subject<string>();
var sub = target.Bind((AvaloniaProperty)Class1.FooProperty, source);
return new WeakReference(source);
};
var weakSource = setupBinding();
Action completeSource = () => Action completeSource = () =>
{ {
@ -455,6 +447,13 @@ namespace Avalonia.Base.UnitTests
Assert.True(called); Assert.True(called);
} }
private WeakReference SetupDirectBinding(Class2 target)
{
var source = new Subject<string>();
var sub = target.Bind((AvaloniaProperty)Class1.FooProperty, source);
return new WeakReference(source);
}
private class Class1 : AvaloniaObject private class Class1 : AvaloniaObject
{ {
public static readonly DirectProperty<Class1, string> FooProperty = public static readonly DirectProperty<Class1, string> FooProperty =

Loading…
Cancel
Save