public void TestEmptyQueue()
        {
            FilePersistentQueue <int> queue = CreateQueue("empty");

            Assert.Throws <InvalidOperationException>(() =>
            {
                int i = queue.Dequeue();
            });
        }
        public void TestFilePersistentQueue()
        {
            BinarySerializer <MockClass> serializer = new BinarySerializer <MockClass>(
                BinarySerializerTest.MockSerializer,
                BinarySerializerTest.MockDeserializer
                );
            string directory = Path.Combine(QueueDirectory, "TestFilePersistentQueue");

            if (Directory.Exists(directory))
            {
                Directory.Delete(directory, true);
            }
            FilePersistentQueue <MockClass> queue = new FilePersistentQueue <MockClass>(
                1000,
                directory,
                serializer
                );

            List <MockClass> list = BinarySerializerTest.CreateList();

            foreach (var item in list)
            {
                queue.Enqueue(item);
            }

            Assert.Equal(list.Count, queue.Count);
            Assert.Equal(list.Count, Directory.GetFiles(directory, "0*").Count());

            List <MockClass> list2 = new List <MockClass>();

            while (queue.Count > 0)
            {
                list2.Add(queue.Dequeue());
            }

            Assert.True(list.SequenceEqual(list2, new MockClassComparer()));
            Assert.Equal(0, queue.Count);
            Assert.Empty(Directory.GetFiles(directory, "0*"));
        }