diff options
Diffstat (limited to 'src/scheduler_brutal_unittest.py')
-rw-r--r-- | src/scheduler_brutal_unittest.py | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/scheduler_brutal_unittest.py b/src/scheduler_brutal_unittest.py deleted file mode 100644 index 8dc72fe..0000000 --- a/src/scheduler_brutal_unittest.py +++ /dev/null @@ -1,87 +0,0 @@ -import pytest -import scheduler_brutal -from scheduler_brutal import SchedulerBrutal as UUT -from card import Card - -# Force HISTORY_DEPTH to simplify testing -scheduler_brutal.HISTORY_DEPTH = 3 - -#-------------------------------------------------------------------------- -# Scheduling behaviour -#-------------------------------------------------------------------------- -def test_scheduling(): - cards = {str(id): Card("", "") for id in range(0, 10)} - state = { - "0": [1, 1, 1], - "1": [0, 0, 0], - "2": [0, 0, 1], - "3": [1, 0, 0], - - "4": [None, None, 1 ], - "5": [None, 1, None], - "6": [1, None, None], - "7": [None, None, 0 ], - "8": [0, 0, None], - "9": [None, None, None], - } - - expected_priority = ["9", "6", "5", "7", "8", "4", "1", "3", "2", "0"] - - uut = UUT(cards, state) - - for i in range(0, len(expected_priority)): - assert set(uut.practice(i + 1)) == set(expected_priority[0:i + 1]) - -#-------------------------------------------------------------------------- -# State update -#-------------------------------------------------------------------------- -def test_stateUpdate(): - cards = {"0": Card("f", "b"), "1": Card("a", "b"), "2": Card("c", "d")} - state = {"0": [1, 0, 1], "1": [1, 0, 0], "2": [0, 0, 1]} - - uut = UUT(cards, state) - - # Unknown IDs in the result are silently ignored - result = {"0": 1, "1": 0, "3": 0} - expected_state = {"0": [0, 1, 1], "1": [0, 0, 0], "2": [0, 1, None]} - - uut.update(result) - - assert uut.getState() == expected_state - -#-------------------------------------------------------------------------- -# State corrections -#-------------------------------------------------------------------------- -def test_stateWhenCardsChanged(): - cards = {"0": Card("f", "b"), "1": Card("a", "b")} - - initial_state = {"0": [1, 0, 1], "2": [0, 0, 0]} - expected_state = {"0": [1, 0, 1], "1": [None, None, None]} - - uut = UUT(cards, initial_state) - - assert uut.getState() == expected_state - -def test_stateWhenHistoryDepthIncreased(): - scheduler_brutal.HISTORY_DEPTH = 5 - - cards = {"0": Card("f", "b"), "1": Card("a", "b"), "2": Card("new", "new")} - - initial_state = {"0": [1, 0, 1], "1": [0, 0, 0]} - expected_state = {"0": [None, None, 1, 0, 1], "1": [None, None, 0, 0, 0], "2": [None] * 5} - - uut = UUT(cards, initial_state) - - assert uut.getState() == expected_state - -def test_stateWhenHistoryDepthDecreased(): - scheduler_brutal.HISTORY_DEPTH = 1 - - cards = {"0": Card("f", "b"), "1": Card("a", "b"), "2": Card("new", "new")} - - initial_state = {"0": [1, 0, 0], "1": [0, 0, 1]} - expected_state = {"0": [0], "1": [1], "2": [None]} - - uut = UUT(cards, initial_state) - - assert uut.getState() == expected_state |