dse-assignment/components/orchestration/test_orchestrator.py
2021-06-17 23:24:26 +02:00

35 lines
1.1 KiB
Python

import datetime
import unittest
from unittest.mock import patch
from dse_shared_libs.mock.response import MyResponse
from orchestrator import Orchestrator
class TestOrchestrator(unittest.TestCase):
def setUp(self) -> None:
self.timestamp = datetime.datetime.utcnow()
with patch('requests.sessions.Session.get', MyResponse):
self.orc = Orchestrator()
def test_full_speed_if_far_away(self):
self.orc.tls = {'1': {'color': 'RED', 'switching_time': 1, 'last_switch': self.timestamp}}
tl_geo = {'cursor': [
{'id': '1', 'calculatedRange': 1000}
]}
current_vel = 55.0
target_vel = self.orc._compute_velocity(tl_geo, current_vel)
self.assertEqual(current_vel, target_vel)
def test_slow_down_if_passing_not_possible(self):
self.orc.tls = {'1': {'color': 'RED', 'switching_time': 100000, 'last_switch': self.timestamp}}
tl_geo = {'cursor': [
{'id': '1', 'calculatedRange': 1000}
]}
current_vel = 130.0
target_vel = self.orc._compute_velocity(tl_geo, current_vel)
self.assertNotEqual(current_vel, target_vel)