Я новичок в тестировании, и мне нужно найти способ проверить конечный автомат, который я написал, аналогично этому https://code.activestate.com/recipes/577308-simple-state-machine-implementation/ с использованием pytest.
Код принимает словарь временных рядов какinput {timestamp: value}, затем создает новый словарь {timestamp: string}.
Вот пример одной из функций, которые определяют изменение состояния:
def state_t_high():
global current_element, duration_timer, recovery_timer, output_series
# print("T_HIGH")
if current_element == number_of_elements:
return state_done
elif input_series[inputList[current_element]] < THRESHOLD:
current_element += 1
return state_normal
elif input_series[inputList[current_element]] >= THRESHOLD and duration_timer <= TRIGGER_DUR:
duration_timer += 1
current_element += 1
return state_t_high
elif input_series[inputList[current_element]] >= THRESHOLD and duration_timer > TRIGGER_DUR:
duration_timer += 1
output_series[inputList[current_element]] = 'too high'
current_element += 1
return state_p_high
Насколькокак я могу сказать, код работает нормально, однако я не знаю, как на самом деле правильно его протестировать.Я не создал никаких классов, остальная часть кода просто загружает входной файл и затем загружает результат на сервер.
Заранее спасибо!