Beispiel #1
0
        public void AddShouldReturnUpdateWhenItemWasAlreadyAddedAndModified()
        {
            // Arrange
            var sut = new PipelineCache <string>();
            var key = new CacheKey(1, 2);

            sut.AddOrReplace(key, "hello world");

            // Act
            var actual = sut.AddOrReplace(key, "hello world 123");

            // Assert
            Assert.Equal(CacheAction.Update, actual);
        }
        public void ClearShouldClearCacheContent()
        {
            // Arrange
            var sut = new PipelineCache <string>();

            sut.AddOrReplace("1", "1", "test");
            sut.AddOrReplace("1", "2", "test");
            sut.AddOrReplace("1", "3", "test");

            // Act
            sut.Clear();

            // Assert
            Assert.Empty(sut.ContentCopy());
        }
        public void ValuesShouldOnlyReturnMatchingValues()
        {
            // Arrange
            var sut = new PipelineCache <string>();

            sut.AddOrReplace("1", "1", "test");
            sut.AddOrReplace("2", "1", "wrong");
            sut.AddOrReplace("1", "2", "test");

            // Act
            var actual = sut.Values("1");

            // Assert
            Assert.All(actual, x => Assert.Equal("test", x));
        }
        public void AddShouldReplaceExistingItem()
        {
            // Arrange
            var sut = new PipelineCache <string>();
            var key = new CacheKey(1, 2);

            sut.AddOrReplace(key, "hello world");

            // Act
            sut.AddOrReplace(key, "test");

            // Assert
            var content = sut.ContentCopy().ToList();

            Assert.Collection(content, str => Assert.Equal("test", str));
        }
        public void ContentCopyShouldReturnCopyOfStoredElements()
        {
            // Arrange
            var sut = new PipelineCache <string>();

            sut.AddOrReplace("1", "1", "test1");
            sut.AddOrReplace("1", "2", "test2");
            sut.AddOrReplace("1", "3", "test3");

            // Act
            var actual = sut.ContentCopy();

            // Assert
            var expectedSubset = new HashSet <string> {
                "test1", "test2", "test3"
            };
            var actualSet = actual.ToHashSet();

            Assert.Subset(expectedSubset, actualSet);
        }
        public void RemoveValueShouldOnlyRemoveMatchingEntries()
        {
            // Arrange
            var sut = new PipelineCache <string>();

            sut.AddOrReplace("1", "1", "test1");
            sut.AddOrReplace("1", "2", "test2");
            sut.AddOrReplace("1", "3", "test3");

            // Act
            sut.RemoveValue("test2");

            // Assert
            var expectedSubset = new HashSet <string> {
                "test1", "test3"
            };
            var actualSet = sut.ContentCopy().ToHashSet();

            Assert.Subset(expectedSubset, actualSet);
        }
Beispiel #7
0
        public void AddShouldReturnAddWhenNewItemWasAdded()
        {
            // Arrange
            var sut = new PipelineCache <string>();
            var key = new CacheKey(1, 2);

            // Act
            var actual = sut.AddOrReplace(key, "hello world");

            // Assert
            Assert.Equal(CacheAction.Add, actual);
        }
        public void ContainsShouldReturnTrueWhenItemIsContained()
        {
            // Arrange
            var sut = new PipelineCache <string>();
            var key = new CacheKey(1, 2);

            sut.AddOrReplace(key, "hello world");

            // Act
            var actual = sut.Contains(key);

            // Assert
            Assert.True(actual);
        }
        public void RemoveShouldRemoveItemFromCache()
        {
            // Arrange
            var sut = new PipelineCache <string>();
            var key = new CacheKey(1, 2);

            sut.AddOrReplace(key, "hello world");

            // Act
            var before = sut.Contains(key);

            sut.Remove(key);
            var after = sut.Contains(key);

            // Assert
            Assert.True(before);
            Assert.False(after);
        }