25 lines
945 B
Python
25 lines
945 B
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from videoroll.utils.task_queue import available_task_queue_capacity, task_queue_slot_reserved_for
|
|
|
|
|
|
class TaskQueueUtilsTests(unittest.TestCase):
|
|
def test_available_capacity_never_goes_negative(self) -> None:
|
|
self.assertEqual(available_task_queue_capacity(3, 0), 3)
|
|
self.assertEqual(available_task_queue_capacity(3, 2), 1)
|
|
self.assertEqual(available_task_queue_capacity(3, 7), 0)
|
|
|
|
def test_slot_reserved_only_for_first_n_locked_tasks(self) -> None:
|
|
locked = ["task-a", "task-b", "task-c", "task-d"]
|
|
|
|
self.assertTrue(task_queue_slot_reserved_for("task-a", locked, 2))
|
|
self.assertTrue(task_queue_slot_reserved_for("task-b", locked, 2))
|
|
self.assertFalse(task_queue_slot_reserved_for("task-c", locked, 2))
|
|
self.assertFalse(task_queue_slot_reserved_for("task-d", locked, 2))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|