Ejemplo n.º 1
0
        public void Add_ShouldRespectCapacity(int capacity, int expected)
        {
            var set = new SlidingSet <int>(capacity);

            Enumerable.Range(1, 1000)
            .ToList()
            .ForEach(x => set.Add(x));

            Assert.Equal(expected, set.Count);
        }
Ejemplo n.º 2
0
        public void Add_ShouldRemoveOldestItem_IfExceedsCapacity()
        {
            var set = new SlidingSet <int>(10);

            Enumerable.Range(1, 20)
            .ToList()
            .ForEach(x => set.Add(x));

            Assert.True(set.Contains(11));
            Assert.True(set.Contains(20));
            Assert.False(set.Contains(1));
            Assert.False(set.Contains(9));
        }
Ejemplo n.º 3
0
        public void ShouldBeSerializable()
        {
            var set = new SlidingSet <int>(10);

            Enumerable.Range(1, 20)
            .ToList()
            .ForEach(x => set.Add(x));

            var serialized   = JsonConvert.SerializeObject(set);
            var deserialized = JsonConvert.DeserializeObject <SlidingSet <int> >(serialized);

            deserialized.Add(21);

            Assert.True(deserialized.Contains(12));
            Assert.True(deserialized.Contains(21));
            Assert.False(deserialized.Contains(11));
        }