Tests.FilterQueueTests.DeleteTimeShouldBeRespected C# (CSharp) Method

DeleteTimeShouldBeRespected() private method

private DeleteTimeShouldBeRespected ( ) : void
return void
        public void DeleteTimeShouldBeRespected()
        {
            using (var queue = this.CreateNew() as FilterQueue)
            {
                var entities = new[]{
                    "One",
                    "Two",
                    "Skipped",
                    "Three"
                };

                foreach (var entity in entities)
                {
                    queue.Enqueue(entity);
                }

                var activeItems = queue.ActiveItems();

                activeItems.Count.Should().Be(4);

                queue.Delete(activeItems[2]);

                activeItems = queue.ActiveItems();

                activeItems.Count.Should().Be(3);

                var deletedItems = queue.DeletedItems();

                deletedItems.Count.Should().Be(1);

                var item1 = queue.Dequeue().CastTo<String>();
                var item2 = queue.Dequeue().CastTo<String>();
                var item3 = queue.Dequeue().CastTo<String>();

                item1.Should().Be(entities[0]);
                item2.Should().Be(entities[1]);
                item3.Should().Be(entities[3]);

                //Still available
                deletedItems = queue.DeletedItems();

                deletedItems.Count.Should().Be(4);

                queue.PurgeDeletedItems();

                deletedItems = queue.DeletedItems();

                deletedItems.Count.Should().Be(0);
            }
        }