Files
navigate/test/tools/test_decorators.py
2025-12-04 16:07:30 +08:00

57 lines
1.6 KiB
Python

import unittest
from time import sleep
from src.navigate.tools.decorators import function_timer, FeatureList, AcquisitionMode, log_initialization
class TestFunctionTimer(unittest.TestCase):
@function_timer
def sample_function(self, duration):
sleep(duration)
return "Completed"
def test_function_timer(self):
duration = 1
result = self.sample_function(duration)
self.assertEqual(result, "Completed")
def test_function_timer_zero_duration(self):
duration = 0
result = self.sample_function(duration)
self.assertEqual(result, "Completed")
def sample_feature():
return "Feature Executed"
class TestFeatureList(unittest.TestCase):
def setUp(self):
self.feature_list = FeatureList(sample_feature)
def test_feature_list_name(self):
self.assertEqual(self.feature_list.feature_list_name, "Sample Feature")
def test_feature_list_execution(self):
result = self.feature_list()
self.assertEqual(result, "Feature Executed")
class SampleClass:
def __init__(self, value):
self.value = value
class TestAcquisitionMode(unittest.TestCase):
def setUp(self):
self.acquisition_mode = AcquisitionMode(SampleClass)
def test_acquisition_mode_initialization(self):
instance = self.acquisition_mode(10)
self.assertIsInstance(instance, SampleClass)
self.assertEqual(instance.value, 10)
def test_acquisition_mode_flag(self):
self.acquisition_mode.__is_acquisition_mode = True
self.assertTrue(self.acquisition_mode.__is_acquisition_mode)
if __name__ == '__main__':
unittest.main()