예제 #1
0
def test_task_create() -> None:
    task = Task(TaskID(1), "foo", 100, 0, _get_time=lambda: 1)
    assert task.elapsed is None
    assert not task.finished
    assert task.percentage == 0.0
    assert task.speed is None
    assert task.time_remaining is None
예제 #2
0
 def add_custom_task(self, task: CustomInfiniteTask, start: bool = True):
     with self._lock:
         self._tasks[self._task_index] = task
         if start:
             self.start_task(self._task_index)
         new_task_index = self._task_index
         self._task_index = TaskID(int(self._task_index) + 1)
     self.refresh()
     return new_task_index
예제 #3
0
def test_task_start() -> None:
    current_time = 1

    def get_time():
        nonlocal current_time
        return current_time

    task = Task(TaskID(1), "foo", 100, 0, _get_time=get_time)
    task.start_time = get_time()
    assert task.started == True
    assert task.elapsed == 0
    current_time += 1
    assert task.elapsed == 1
    current_time += 1
    task.stop_time = get_time()
    current_time += 1
    assert task.elapsed == 2
예제 #4
0
def test_task_zero_total() -> None:
    task = Task(TaskID(1), "foo", 0, 0, _get_time=lambda: 1)
    assert task.percentage == 0
예제 #5
0
 def add_task(self, *args, **kwargs) -> TaskID:
     return TaskID(0)