Example #1
0
        public void TestDequeue_MultipleJobs()
        {
            JobQueue       queue = new JobQueue();
            IJobDefinition d     = new DudDefinition();
            JobRequest     r     = new JobRequest(d);
            JobTicket      t     = new JobTicket(r, new DudHandler());

            queue.Enqueue(t);
            JobRequest r2 = new JobRequest(d);
            JobTicket  t2 = new JobTicket(r2, new DudHandler());

            queue.Enqueue(t2);

            IJobTicket ta = queue.Dequeue();

            Assert.AreEqual(t, ta);
            Assert.IsTrue(queue.HasPendingJobs);
            Assert.AreEqual(1, queue.NumberOfJobs);

            IJobTicket tb = queue.Dequeue();

            Assert.AreEqual(t2, tb);
            Assert.IsFalse(queue.HasPendingJobs);
            Assert.AreEqual(0, queue.NumberOfJobs);
        }
Example #2
0
        public void TestConstructor_ValidRequest()
        {
            IJobDefinition d = new DudDefinition();
            JobRequest     r = new JobRequest(d);
            JobTicket      t = new JobTicket(r, new DudHandler());

            Assert.AreEqual(r, t.Request);
            Assert.IsNull(t.Result);
            Assert.IsNotNull(t.JobID);
            Debug.WriteLine(t.JobID);
            Assert.IsFalse(t.Cancelled);
        }
Example #3
0
        public void TestHandleCancel_Handleable()
        {
            JobQueue       queue = new JobQueue();
            IJobDefinition d     = new DudDefinition();
            JobRequest     r     = new JobRequest(d);
            JobTicket      t     = new JobTicket(r, new DudHandler());

            queue.Enqueue(t);
            bool result = queue.Handle(t);

            Assert.IsTrue(result);
            Assert.IsFalse(queue.HasPendingJobs);
        }
Example #4
0
        public void TestDequeue_OneJob()
        {
            JobQueue queue = new JobQueue();

            IJobDefinition d = new DudDefinition();
            JobRequest     r = new JobRequest(d);
            JobTicket      t = new JobTicket(r, new DudHandler());

            queue.Enqueue(t);

            IJobTicket t1 = queue.Dequeue();

            Assert.AreEqual(t, t1);
            Assert.AreEqual(0, queue.NumberOfJobs);
            Assert.IsFalse(queue.HasPendingJobs);
        }
Example #5
0
        public void TestEnqueue_ValidRequest()
        {
            JobQueue queue      = new JobQueue();
            bool     eventFired = false;

            queue.JobAdded += (s, e) => eventFired = true;

            IJobDefinition d = new DudDefinition();
            JobRequest     r = new JobRequest(d);
            JobTicket      t = new JobTicket(r, new DudHandler());

            queue.Enqueue(t);

            Assert.IsTrue(eventFired);
            Assert.AreEqual(1, queue.NumberOfJobs);
            Assert.IsTrue(queue.HasPendingJobs);
        }
Example #6
0
 public void TestConstructor_NullHandler()
 {
     IJobDefinition d      = new DudDefinition();
     JobRequest     r      = new JobRequest(d);
     JobTicket      ticket = new JobTicket(r, null);
 }