Test the pipeline
The telemetry pipeline from "Telemetry pipeline" has been split into small functions, ready for the ground station to run unattended. Before it goes live, the team wants tests: whoever changes the pipeline next must find out at once if something broke.
Write them. The hidden tests plant three bugs, one at a time, and your tests must catch every one.
Finish stage 1 to unlock this stage.
Write assert checks for parse_row(): a good row becomes exactly the right reading, with the value as a number, and a row from an unknown sensor raises ValueError. Then print:
All checks passed
Leave the functions as they are. The hidden tests plant two bugs in parse_row(): one keeps the value as text, the other drops the sensor check. Your checks must fail on both.
Finish stage 1 to unlock this stage.
Add checks for check_limits(): a reading above its range, one below, and one exactly at the upper limit, which is allowed and must give None. Keep the passed line at the end.
The hidden tests now plant all three bugs, the third being >= instead of > in check_limits().
Hints
Separate arguments with commas. They're passed on every Run as sys.argv[1:].