MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / testStraightDitProducesOneElement

Function testStraightDitProducesOneElement

tests/iambic_keyer_test.cpp:87–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85constexpr int kTestWpm = 20;
86
87void testStraightDitProducesOneElement()
88{
89 Recorder rec;
90 IambicKeyer k;
91 k.setOnKeyDownChange([&](bool d) { rec.onKeyDownChange(d); });
92 k.setOnPaddleEvent([&](bool d, bool h) { rec.onPaddleEvent(d, h); });
93 k.setWpm(kTestWpm);
94 k.setMode(IambicKeyer::Mode::IambicB);
95 k.start();
96
97 // Press dit briefly, release, wait for one element to complete.
98 k.setPaddleState(true, false);
99 std::this_thread::sleep_for(10ms);
100 k.setPaddleState(false, false);
101 std::this_thread::sleep_for(150ms);
102 k.stop();
103
104 const auto evs = rec.events();
105 bool ok = (evs.size() >= 2 && evs[0].down == true && evs[1].down == false);
106 if (ok) ok &= nearMs(evs[1].at - evs[0].at, kTestUnitMs);
107 report("single dit press produces one ~60ms key-down element", ok);
108}
109
110void testStraightDahProducesOneElement()
111{

Callers 1

mainFunction · 0.85

Calls 13

nearMsFunction · 0.85
onKeyDownChangeMethod · 0.80
setOnPaddleEventMethod · 0.80
onPaddleEventMethod · 0.80
setWpmMethod · 0.80
setPaddleStateMethod · 0.80
eventsMethod · 0.80
reportFunction · 0.70
setOnKeyDownChangeMethod · 0.45
setModeMethod · 0.45
startMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected