Esempio n. 1
0
        public void Test_Object_Is_Collected()
        {
            //Arrange
            var wr = CreateEquatableWeakReference(false);

            //Act
            RevokeNotifierTestClass.CallGC();

            //Assert
            Assert.Null(wr.Target);
        }
Esempio n. 2
0
        public void Test_Object_Is_Not_Collected()
        {
            //Arrange
            var target = new RevokeNotifierTestClass();

            _anchor.Add(target);
            var wr = new EquatableWeakReference <RevokeNotifierTestClass>(target);

            //Act
            RevokeNotifierTestClass.CallGC();

            //Assert
            Assert.NotNull(wr.Target);
        }
Esempio n. 3
0
        private EquatableWeakReference <RevokeNotifierTestClass> CreateEquatableWeakReference(bool collectObject = false)
        {
            EquatableWeakReference <RevokeNotifierTestClass> res = null;
            Action notRootByDebuger = () =>
            {
                res = new EquatableWeakReference <RevokeNotifierTestClass>(new RevokeNotifierTestClass());
            };

            notRootByDebuger();
            if (collectObject)
            {
                RevokeNotifierTestClass.CallGC();
            }
            return(res);
        }
Esempio n. 4
0
        private RevokeContext CreateRevokeContext(int hashcode = 1234)
        {
            RevokeContext res = null;
            Action        notRootByDebuger = () =>
            {
                res = new RevokeContext(new RevokeNotifierTestClass(),
                                        (s) => Task.CompletedTask,
                                        TaskScheduler.Current);
            };

            notRootByDebuger();

            RevokeNotifierTestClass.CallGC();

            return(res);
        }
Esempio n. 5
0
        private RevokeContext CreateRevokeContext(int hashcode = 1234)
        {
            RevokeContext res = null;
            Action        notRootByDebuger = () =>
            {
                res = new RevokeContext(new RevokeNotifierTestClass(),
                                        RevokeContextConcurrentCollectionTests.RevokeKeySubstitute.Instance,
                                        TaskScheduler.Current);
            };

            notRootByDebuger();

            RevokeNotifierTestClass.CallGC();

            return(res);
        }
        private RevokeContext CreateRevokeContext(RevokeNotifierTestClass revokee = null, bool collectObject = false)
        {
            RevokeContext res = null;
            Action        notRootByDebuger = () =>
            {
                res = new RevokeContext(revokee ?? new RevokeNotifierTestClass(),
                                        collectObject?new RevokeContextConcurrentCollectionTests.RevokeKeySubstitute():this.subRevokeKey,
                                        this.subTaskScheduler);
            };

            notRootByDebuger();

            if (collectObject)
            {
                RevokeNotifierTestClass.CallGC();
            }
            return(res);
        }
        private RevokeContext CreateRevokeContext(RevokeNotifierTestClass revokee = null, bool collectObject = false)
        {
            RevokeContext res = null;
            Action        notRootByDebuger = () =>
            {
                res = new RevokeContext(revokee ?? new RevokeNotifierTestClass(),
                                        this.subFunc,
                                        this.subTaskScheduler);
            };

            notRootByDebuger();

            if (collectObject)
            {
                RevokeNotifierTestClass.CallGC();
            }
            return(res);
        }