public void ToTrackingCaptureInitial()
        {
            var fake    = new FakeInpc();
            var strings = new List <string>();

            fake.ToTrackingObservable(x => x.Name, true).Subscribe(x => strings.Add(x.CurrentValue));
            CollectionAssert.AreEqual(new string[] { null }, strings);
            fake.Name = "El Kurro";
            CollectionAssert.AreEqual(new string[] { null, "El Kurro" }, strings);
        }
        public void MemoryLeakNoDisposeTest()
        {
            var fake = new FakeInpc();
            var wr   = new WeakReference(fake);

            Assert.IsTrue(wr.IsAlive);
            var subscription = fake.ToTrackingObservable(x => x.Name, false)
                               .Subscribe();

            fake = null;
            GC.Collect();
            Assert.IsFalse(wr.IsAlive);
            var s = subscription.ToString(); // touching it after GC.Collect for no optimizations
        }