28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
import unittest
|
|
from run import source_intersection
|
|
|
|
|
|
class Mapping(unittest.TestCase):
|
|
def test_units_and_nonzero_origin_once(self):
|
|
interval = source_intersection([10, 25], 16000, 5125)
|
|
self.assertEqual(interval["source_samples"], [1600, 4000])
|
|
self.assertEqual(interval["source_absolute_ms"], [5225, 5375])
|
|
|
|
def test_padded_tail_keeps_raw_evidence(self):
|
|
interval = source_intersection([90, 102], 16001, 0)
|
|
self.assertEqual(interval["raw_cs"], [90, 102])
|
|
self.assertEqual(interval["source_samples"], [14400, 16001])
|
|
self.assertEqual(interval["tail_padding_samples"], 319)
|
|
|
|
def test_synthetic_only_interval_has_empty_source_intersection(self):
|
|
self.assertEqual(source_intersection([101, 102], 16001, 0)["source_samples"], [16001, 16001])
|
|
|
|
def test_bad_units_and_order_fail(self):
|
|
for interval in ([0.1, 2], [-1, 2], [2, 2], [3, 2]):
|
|
with self.subTest(interval=interval), self.assertRaises(ValueError):
|
|
source_intersection(interval, 16000, 0)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|