public void Should_dispose_non_tracked_tasks()
        {
            var task = new DisposableTask();

            _releaser.Release(task);

            Assert.That(task.Disposed, Is.True);
        }
示例#2
0
        public void TestInsertDisposableTask()
        {
            ToDoDB db     = new ToDoDB();
            int    nextId = db.GetNextTaskId() + 1;
            Dictionary <int, SubTask> dictionary = new Dictionary <int, SubTask>();
            DisposableTask            dTask      = new DisposableTask("Title", "This is a description", dictionary);
            int actualId = db.InsertDisposableTask(dTask);

            Assert.IsTrue(db.CheckTaskExistsInDB(nextId));
        }
示例#3
0
            public IDisposable Schedule(Action task, TimeSpan delay)
            {
                var dt = new DisposableTask(task, this);

                if (tasks.Add(dt))
                {
                    Task.Delay(delay, dt.cts.Token).ContinueWith(a => dt.Run(), dt.cts.Token);
                    return(dt);
                }
                return(EmptyDisposable.Instance);
            }
示例#4
0
            public IDisposable Schedule(Action task)
            {
                var dt = new DisposableTask(task, this);

                if (tasks.Add(dt))
                {
                    Task.Run((Action)dt.Run, dt.cts.Token);
                    return(dt);
                }
                return(EmptyDisposable.Instance);
            }
示例#5
0
        public void TestDisposableTaskEquals()
        {
            Dictionary <int, SubTask> dictionary = new Dictionary <int, SubTask>();
            DisposableTask            task1      = new DisposableTask("Title", "This is a description", dictionary);
            DisposableTask            task2      = new DisposableTask("Title", "This is a description", dictionary);

            Assert.AreEqual(task1, task2);
            task2.setTitle("DIFFERENTTITLE");
            Assert.AreNotEqual(task1, task2);

            task1 = new DisposableTask("Title", "This is a description", dictionary);
            task2 = new DisposableTask("Title", "This is a description", dictionary);
            task1.setAllowNotifications(true);
            Assert.AreNotEqual(task1, task2);
        }
示例#6
0
        /// <summary>
        /// Switches task type from repeatable to disposable and vice versa
        /// </summary>
        /// <param name="index"></param>
        public void switchTaskType(int index)
        {
            bool repeating = ToDoList[index].getRepeatability();

            if (repeating == false)
            {
                RepeatableTask newTask = new RepeatableTask(ToDoList[index].getTitle(), ToDoList[index].getDescription(), ToDoList[index].getSubTask());
                newTask.setTaskId(ToDoList[index].getTaskId());
                ToDoList[index] = newTask;
                ToDoList[index].SaveTask();
            }
            else
            {
                DisposableTask newTask = new DisposableTask(ToDoList[index].getTitle(), ToDoList[index].getDescription(), ToDoList[index].getSubTask());
                newTask.setTaskId(ToDoList[index].getTaskId());
                ToDoList[index] = newTask;
                ToDoList[index].SaveTask();
            }
        }
示例#7
0
        public void TestUpdateTask()
        {
            ToDoDB db     = new ToDoDB();
            int    taskId = db.GetNextTaskId() + 1;
            Dictionary <int, SubTask> dictionary   = new Dictionary <int, SubTask>();
            DisposableTask            expectedTask = new DisposableTask();

            expectedTask.setTaskId(taskId);                 //Id
            expectedTask.setTitle("TestTitle");             //Title
            expectedTask.setDescription("TestDescription"); //Notes
            expectedTask.setAllowNotifications(false);      //allowNotifications
            expectedTask.setIsComplete(false);              //isComplete
            expectedTask.setTaskFKey(0);                    //taskFKey
            db.InsertDisposableTask(expectedTask);
            expectedTask.setTitle("UPDATEDTITLE");          //Title
            db.UpdateTask(expectedTask);
            DisposableTask actualTask = db.FetchDisposableTask(taskId + 1);

            //expectedTask.setTaskId(taskId);
            Assert.AreEqual(expectedTask, actualTask);
        }