From ac55d9ff0b588b91202ccad72ee71e508e33ad08 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 19 Jul 2025 22:21:10 -0600 Subject: Reformat repository to allow for new unit tests --- t/utils.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 t/utils.py (limited to 't/utils.py') diff --git a/t/utils.py b/t/utils.py new file mode 100644 index 0000000..fe9db26 --- /dev/null +++ b/t/utils.py @@ -0,0 +1,34 @@ +from aergia.aergia import Aergia +import unittest + + +class AergiaUnitTestCase(unittest.TestCase): + + interval = 0.01 + Aergia = Aergia(interval) + + def setUp(self): + self.Aergia.clear() + + def assertFuncContains(self, func_name, samples_expected, samples): + samples_actual = self.extract_values_by_func(samples, + func_name) + self.assertTrue(len(samples_expected) == len(samples_actual)) + s1 = sorted(samples_expected) + s2 = sorted(samples_actual) + for v1, v2 in zip(s1, s2): + self.assertRoughlyEqual(v1, v2) + + def assertRoughlyEqual(self, v1, v2): + print(f'{v1}, {v2}') + a = abs(v1 - v2) + self.assertTrue(a <= 1) + + def expected_samples(self, total_seconds): + return (total_seconds / self.interval) + + def extract_values_by_func(self, samples, func_name): + return [ + value for key, value in samples.items() + if key.func == func_name + ] -- cgit v1.2.3