Example #1
0
        public void FetchAllAndClearWithNullQueue()
        {
            //Arrange
            var cache = new InMemoryImpressionsCache(null);

            cache.AddImpression(new KeyImpression()
            {
                feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });
            cache.AddImpression(new KeyImpression()
            {
                feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });

            //Act
            var result = cache.FetchAllAndClear();

            //Assert
            Assert.IsNull(result);
        }
Example #2
0
        public void HasReachedMaxSizeWithNullQueue()
        {
            //Arrange
            var queue = new BlockingQueue <KeyImpression>(3);
            var cache = new InMemoryImpressionsCache(queue);

            //Act
            cache.AddImpression(new KeyImpression()
            {
                feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });
            cache.AddImpression(new KeyImpression()
            {
                feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });

            var result = cache.HasReachedMaxSize();

            //Assert
            Assert.IsFalse(result);
        }
Example #3
0
        public void AddImpressionWithFullQueue()
        {
            //Arrange
            var queue = new BlockingQueue <KeyImpression>(1);
            var cache = new InMemoryImpressionsCache(queue);

            //Act
            cache.AddImpression(new KeyImpression()
            {
                feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });
            cache.AddImpression(new KeyImpression()
            {
                feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });

            var element  = queue.Dequeue();
            var element2 = queue.Dequeue();

            //Assert
            Assert.IsNotNull(element);
            Assert.IsNull(element2);
        }
Example #4
0
        public void FetchAllAndClearSuccessfully()
        {
            //Arrange
            var queue = new BlockingQueue <KeyImpression>(2);
            var cache = new InMemoryImpressionsCache(queue);

            cache.AddImpression(new KeyImpression()
            {
                feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });
            cache.AddImpression(new KeyImpression()
            {
                feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            });

            //Act
            var result  = cache.FetchAllAndClear();
            var element = queue.Dequeue();

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count);
            Assert.IsNull(element);
        }