public void Complete()
        {
            Task task = new Task { Accepter = new User(), ExpectCompleteTime = SystemTime.Now() };
            task.BeginWork();

            SystemTime.SetDateTime(now.AddHours(3));
            task.Complete();

            task.has_complete();
            Assert.That(task.Delay, Is.EqualTo(3));
        }
 private static void set_task_status(Task task, Status status)
 {
     switch (status)
     {
         case Status.Assign:
             task.Assign();
             break;
         case Status.Remove:
             task.Remove();
             break;
         case Status.BeginWork:
             task.Assign();
             task.BeginWork();
             break;
         case Status.Complete:
             task.Assign();
             task.BeginWork();
             task.Complete();
             break;
         case Status.Accept:
             task.Assign();
             task.BeginWork();
             task.Complete();
             task.Accept(null);
             break;
     }
 }
        public void Accept_When_Owner_Is_Accepter()
        {
            User user = new User();
            Task task = new Task
            {
                Owner = user,
                Accepter = user
            };
            task.BeginWork();
            task.Complete();

            task.has_accept(Constants.CommentAutoAcceptForOwnerIsAccepter);
        }
        public void Dissent()
        {
            Task task = new Task
            {
                Publisher = new User(),
                Owner = new User(),
                Accepter = new User()
            };
            task.Publish();
            task.Assign();
            task.BeginWork();
            task.Complete();
            task.RefuseAccept();
            task.Dissent();

            task.has_update_latest();
            Assert.That(task.CurrentStatus, Is.EqualTo(Status.Dissent));
        }
        public void Accept()
        {
            Task task = new Task
            {
                Owner = new User(),
                Accepter = new User()
            };
            task.BeginWork();
            task.Complete();
            task.Accept(TaskQuality.Good);

            task.has_accept(TaskQuality.Good);
        }