public void MultipleQueueManager() {
            int manifestsProcessed = 0;
            var manager = new QueueManager(_accessor, new IsolatedStorageQueueStore("test", _accessor));
            List<Manifest> manifests = manager.GetManifests().ToList();
            foreach (Manifest manifest in manifests)
                manager.Delete(manifest.Id);

            const int NUMBER_TO_PROCESS = 20;
            for (int i = 0; i < NUMBER_TO_PROCESS; i++)
                manager.Enqueue(CreateSampleError());

            var mutex = new Mutex(false, "test");
            Parallel.For(0, 5, i => {
                mutex.WaitOne();
                var localManager = new QueueManager(_accessor, new IsolatedStorageQueueStore("test", _accessor));
                List<Manifest> localManifests = localManager.GetManifests().ToList();
                foreach (Manifest m in localManifests)
                    localManager.Delete(m.Id);
                Interlocked.Add(ref manifestsProcessed, localManifests.Count);
                Assert.NotNull(localManifests);
                mutex.ReleaseMutex();
            });

            Assert.Equal(NUMBER_TO_PROCESS, manifestsProcessed);

            foreach (Manifest manifest in manifests)
                manager.Delete(manifest.Id);
        }
        public void QueueManager() {
            Error error = CreateSampleError();
            var manager = new QueueManager(_accessor, new IsolatedStorageQueueStore("test", _accessor));

            manager.Enqueue(error);
            // verify that the extended data objects were serialized to JSON
            ValidateSampleError(error);

            IEnumerable<Manifest> manifests = manager.GetManifests();
            Assert.NotNull(manifests);
            Assert.Equal(1, manifests.Count());

            Error e = manager.GetError(manifests.First().Id);
            ValidateSampleError(e);

            manager.Delete(error.Id);
        }