wwvbpy/test/testpm.py
Jeff Epler 14361a925a disentangle typing problems from using dataclasses
.. and drop pre-3.9 compatibility (depend on str.removeprefix)
2025-04-20 19:47:59 +02:00

33 lines
901 B
Python
Executable file

#!/usr/bin/python3
"""Test Phase Modulation Signal"""
# SPDX-FileCopyrightText: 2021-2024 Jeff Epler
#
# SPDX-License-Identifier: GPL-3.0-only
import unittest
import wwvb
class TestPhaseModulation(unittest.TestCase):
"""Test Phase Modulation Signal"""
def test_pm(self) -> None:
"""Compare the generated signal from a reference minute in NIST docs"""
ref_am = "201100000200010011120001010002011000101201000000120010010112"
ref_pm = "001110110100010010000011001000011000110100110100010110110110"
ref_minute = wwvb.WWVBMinuteIERS.from_parts(2012, 186, 17, 30, dst=3)
ref_time = ref_minute.as_timecode()
test_am = ref_time.to_am_string(["0", "1", "2"])
test_pm = ref_time.to_pm_string(["0", "1"])
self.assertEqual(ref_am, test_am)
self.assertEqual(ref_pm, test_pm)
if __name__ == "__main__":
unittest.main()