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'");
        }
Пример #2
0
        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
        }
Пример #4
0
        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
        }