Beispiel #1
0
        public void Insert_Null_Should_Throw()
        {
            // Arrange
            var           revokeContextConcurrentCollection = this.CreateRevokeContextConcurrentCollection();
            RevokeContext context = null;

            // Act & Assert
            Assert.Throws <NullReferenceException>(() => revokeContextConcurrentCollection.Insert(
                                                       context));
        }
Beispiel #2
0
        private RevokeContext CreateRevokeContextRooted(int hashcode = 1234)
        {
            var           target = new RevokeNotifierTestClass();
            RevokeContext res    = new RevokeContext(target,
                                                     (s) => Task.CompletedTask,
                                                     TaskScheduler.Current);

            _anchor.Add(target);
            return(res);
        }
Beispiel #3
0
        private RevokeContext CreateRevokeContextRooted(int hashcode = 1234)
        {
            var           target = new RevokeNotifierTestClass();
            RevokeContext res    = new RevokeContext(target,
                                                     RevokeContextConcurrentCollectionTests.RevokeKeySubstitute.Instance,
                                                     TaskScheduler.Current);

            _anchor.Add(target);
            return(res);
        }
Beispiel #4
0
        public void AddRevokeContext_Null_Context_Should_Throw()
        {
            // Arrange
            var           revokeKeyIndexer = this.CreateRevokeKeyIndexer();
            string        key     = "someKey";
            RevokeContext context = null;

            // Act & Assert
            Assert.Throws <NullReferenceException>(() => revokeKeyIndexer.AddRevokeContext(
                                                       key,
                                                       context));
        }
        public void ObjectEqual_RevokeContext_Is_Not_Equal_To_Null_Even_If_Collected()
        {
            // Arrange
            var           revokeContext = CreateRevokeContext(collectObject: true);
            RevokeContext entry         = null;

            // Act
            var result = revokeContext.ObjectEqual(
                entry);

            // Assert
            Assert.False(result);
        }
        public void ObjectEqual_RevokeContext_Is_Not_Equal_To_Null()
        {
            // Arrange
            var           revokeContext = CreateRevokeContext(Revokee1);
            RevokeContext entry         = null;

            // Act
            var result = revokeContext.ObjectEqual(
                entry);

            // Assert
            Assert.False(result);
        }
        public void ObjectEqual_RevokeContext_Is_Not_Equal_While_Revokee_Collected()
        {
            // Arrange
            var           revokeContext = CreateRevokeContext(Revokee1);
            RevokeContext entry         = CreateRevokeContext(Revokee2);

            // Act
            var result = revokeContext.ObjectEqual(
                entry);

            // Assert
            Assert.AreEqual(revokeContext.Revokee, entry.Revokee);
            Assert.False(result);
        }
Beispiel #8
0
        public void AddRevokeContext_Valid_Context_Should_Succeed()
        {
            // Arrange
            var           revokeKeyIndexer = this.CreateRevokeKeyIndexer();
            string        key     = "someKey";
            RevokeContext context = CreateRevokeContextRooted();

            // Act & Assert
            revokeKeyIndexer.AddRevokeContext(
                key,
                context);

            Assert.True(revokeKeyIndexer.ContainsKey(key));
        }
Beispiel #9
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);
        }
Beispiel #10
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);
        }