Files
videoroll/tests/test_task_queue_utils.py

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()