public void TestJobTransition_RunningToCancelled()
        {
            TicketImpl ticket = new TicketImpl();

            ticket.State = JobState.InQueue;
            OngoingJobsViewModel vm = new OngoingJobsViewModel();

            vm.Add(ticket, new DudHandler());
            ticket._sink.FireSync("JobStarted", EventArgs.Empty);
            ticket.Result = JobResult.Cancelled;
            ticket._sink.FireSync("JobCancelled", EventArgs.Empty);
            Assert.IsNull(vm.Current);
            Assert.AreEqual(1, vm.Finished.Count);
        }
        public void TestJobTransition_QueuedToRunning()
        {
            TicketImpl ticket = new TicketImpl();

            ticket.State = JobState.InQueue;
            OngoingJobsViewModel vm = new OngoingJobsViewModel();

            vm.Add(ticket, new DudHandler());
            ticket._sink.FireSync("JobStarted", EventArgs.Empty);

            Assert.IsNotNull(vm.Current);
            Assert.AreEqual(ticket, vm.Current.Ticket);
            Assert.AreEqual(0, vm.Pending.Count);
        }
        public void TestJobTransition_QueuedToFinished()
        {
            TicketImpl ticket = new TicketImpl();

            ticket.State = JobState.InQueue;
            OngoingJobsViewModel vm = new OngoingJobsViewModel();

            vm.Add(ticket, new DudHandler());
            ticket._sink.FireSync("JobStarted", EventArgs.Empty);
            ticket.Result = new JobResult(new List <IProcessedImage>());
            ticket._sink.FireSync("JobCompleted", EventArgs.Empty);
            Assert.IsNull(vm.Current);
            Assert.AreEqual(1, vm.Finished.Count);
        }
        public void TestAdd_QueuedJob()
        {
            TicketImpl ticket = new TicketImpl();

            ticket.State = JobState.InQueue;
            OngoingJobsViewModel vm = new OngoingJobsViewModel();

            vm.Add(ticket, new DudHandler());

            Assert.IsNull(vm.Current);
            Assert.AreEqual(0, vm.Finished.Count);
            Assert.AreEqual(1, vm.Pending.Count);
            Assert.AreEqual(ticket, vm.Pending.First().Ticket);
        }