public void Should_Not_Keep_Source_Alive_NonIntegerIndexer()
        {
            Func <Tuple <ExpressionObserver, WeakReference> > run = () =>
            {
                var source = new NonIntegerIndexer();
                var target = new ExpressionObserver(source, "Foo");
                return(Tuple.Create(target, new WeakReference(source)));
            };

            var result = run();

            result.Item1.Subscribe(x => { });

            GC.Collect();

            Assert.Null(result.Item2.Target);
        }
        public void Should_Not_Keep_Source_Alive_NonIntegerIndexer()
        {
            Func<Tuple<ExpressionObserver, WeakReference>> run = () =>
            {
                var source = new NonIntegerIndexer();
                var target = new ExpressionObserver(source, "Foo");
                return Tuple.Create(target, new WeakReference(source));
            };

            var result = run();
            result.Item1.Subscribe(x => { });

            GC.Collect();

            Assert.Null(result.Item2.Target);
        }