public void StaticCallback() { int i = 4; _subscriber = new TestSubcriber(); // Using a class member so it doesn't get optimized away in Release build MessagingCenter.Subscribe <TestPublisher>(_subscriber, "test", p => MessagingCenterTestsCallbackSource.Increment(ref i)); GC.Collect(); GC.WaitForPendingFinalizers(); var pub = new TestPublisher(); pub.Test(); Assert.IsTrue(i == 5, "The static method should have incremented 'i'"); }
public void StaticCallback() { int i = 4; var subscriber = new TestSubcriber(); MessagingCenter.Subscribe <TestPublisher>(subscriber, "test", p => MessagingCenterTestsCallbackSource.Increment(ref i)); GC.Collect(); GC.WaitForPendingFinalizers(); var pub = new TestPublisher(); pub.Test(); Assert.IsTrue(i == 5, "The static method should have incremented 'i'"); }
public void NothingShouldBeCollected() { var success = false; _subscriber = new TestSubcriber(); // Using a class member so it doesn't get optimized away in Release build var source = new MessagingCenterTestsCallbackSource(); MessagingCenter.Subscribe <TestPublisher>(_subscriber, "test", p => source.SuccessCallback(ref success)); GC.Collect(); GC.WaitForPendingFinalizers(); var pub = new TestPublisher(); pub.Test(); Assert.True(success); // TestCallbackSource.SuccessCallback() should be invoked to make success == true }
public void NothingShouldBeCollected() { var success = false; var subscriber = new TestSubcriber(); var source = new MessagingCenterTestsCallbackSource(); MessagingCenter.Subscribe <TestPublisher>(subscriber, "test", p => source.SuccessCallback(ref success)); GC.Collect(); GC.WaitForPendingFinalizers(); var pub = new TestPublisher(); pub.Test(); Assert.True(success); // TestCallbackSource.SuccessCallback() should be invoked to make success == true }