示例#1
0
        public void testFailedItemsEnqueuedAgain()
        {
            var          q = new PersistentBlockingQueue(new MockStorage(), new PayloadToJsonString());
            AsyncEmitter e = new AsyncEmitter(new MockEndpoint()
            {
                Response = false
            }, q);

            // no events will send, and so they should be at the start of the queue

            e.Start();

            var p = new Payload();

            p.AddDict(new Dictionary <string, string>()
            {
                { "foo", "bar" }
            });

            e.Input(p);
            Thread.Sleep(100); // this could be done better with triggers of some kind
            e.Stop();

            var inQueue = q.Peek(1);

            Assert.AreEqual(1, inQueue.Count);
        }
        public void testAddRemoveOne()
        {
            var storage = new MockStorage();
            var queue   = new PersistentBlockingQueue(storage, new PayloadToJsonString());

            var dict = new Dictionary <string, string>();

            dict.Add("hello", "world");
            var samplePayload = new Payload();

            samplePayload.AddDict(dict);

            var payload = new List <Payload>();

            payload.Add(samplePayload);

            queue.Enqueue(payload);
            var actualPayload = queue.Peek(1);

            Assert.AreEqual(1, actualPayload.Count);
            CollectionAssert.AreEqual(samplePayload.Payload, actualPayload[0].Item2.Payload);
        }