123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import unittest
- from utils.timed_phase_enum import TimedPhaseEnum
- class MyEnum(TimedPhaseEnum):
- RED = 1
- GREEN = 2
- BLUE = 3
- class BakeOvenSteps(TimedPhaseEnum):
- IDLE = ('IDLE' , float('inf'))
- DETECTION = ('DETECTION', 0.2)
- OPEN_DOORS = ('OPEN_DOORS', 1.0)
- SLIDE_ENTER = ('SLIDE_ENTER', 0.5)
- CLOSE_DOORS = ('CLOSE_DOORS', 1.0)
- BAKE = ('BAKE', 5.0)
- OPEN_DOORS_EXIT = ('OPEN_DOORS_EXIT', 1.0)
- SLIDE_EXIT = ('SLIDE_EXIT', 0.5)
- CLOSE_DOORS_EXIT = ('CLOSE_DOORS_EXIT', 1.0)
- AWAIT_PICKUP = ('AWAIT_PICKUP', float('inf'))
- class TestColorEnum(unittest.TestCase):
- def test_enum_baseline(self):
- color = MyEnum.RED
- self.assertEqual(color, MyEnum.RED)
- self.assertEqual(color.value, 1)
- def test_incremental_enum(self):
- color = MyEnum.RED
- self.assertEqual(color, MyEnum.RED)
- color = color.next()
- self.assertEqual(color, MyEnum.GREEN)
- color = color.next()
- self.assertEqual(color, MyEnum.BLUE)
- def test_bake_oven_steps_enum(self):
- step = BakeOvenSteps.IDLE
- self.assertEqual(step, BakeOvenSteps.IDLE)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.DETECTION)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.OPEN_DOORS)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.SLIDE_ENTER)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.CLOSE_DOORS)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.BAKE)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.OPEN_DOORS_EXIT)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.SLIDE_EXIT)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.CLOSE_DOORS_EXIT)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.AWAIT_PICKUP)
- step = step.next()
- self.assertEqual(step, BakeOvenSteps.IDLE)
- def test_bake_oven_steps_enum_timing(self):
- step = BakeOvenSteps.IDLE
- self.assertEqual(step.timing, float('inf'))
- step = BakeOvenSteps.BAKE
- self.assertEqual(step.timing, 5.0)
- if __name__ == '__main__':
- unittest.main()
|