bandsaunter/tests
The Dust Council e05b66ec3d Tell the APRS map which band it is on, and where you are standing
Three things wrong with the window, all reported from the chair in front of
it, and all three the same kind of wrong: the map had been handed the aircraft
map's furniture and nobody had checked which bits of it were about aircraft.

The empty screen said "listening on 1090 MHz" and went on to explain that an
aeroplane is placed once an even and an odd position frame have both arrived.
That sentence was true of the window it was written for and false of every
word in this one.  What has to arrive before a mark can be placed is a fact
about the signal rather than about the window, so it is now a thing the window
is told: an aeroplane still says what an aeroplane needs, a station says that
most of them mention where they are every few minutes, and left unsaid the
words follow whatever channel the window was given rather than naming 1090
from memory.

There was no red flag.  The flag is drawn where the receiver was actually told
it is, and this section has its own --at that had never been filled in -- but
the aircraft section's had, by the same person, about the same aerial, on the
same roof.  One aerial does not move because the receiver was pointed at a
different band, so a position set on either side now serves both, this
section's own winning where it has one because two receivers in two places is
exactly what a separate setting is for.  It says out loud which it used, an
inherited position being a convenience right up until somebody has moved and
changed only one of them.  The flag, the range rings and every distance and
bearing all come from the same answer, so all four arrive together.

The boxes drew a station's position and never wrote it down.  A mark on a map
shows where something is; the figures are what gets read out over the air,
copied into a log or typed into something else.  They are also the only place
the doubt shows: a station that blanks its minutes is somewhere inside a
two-degree square, the diamond is as definite there as it is anywhere, and
only "49.0000N 72.0000W +/-340 km" admits it.

Twelve new tests against six deliberately broken builds.  One survived, and
it is the one that matters: with the drawing code changed back to print
aeroplanes at 1090 MHz, every test still passed, because they all read the
sentence off the object and none of them read the pixels.  That is the
reported fault exactly -- a window that holds one sentence and paints another
-- and the suite could not see it.  It reads the picture now, cropped below
the header, whose ticking clock has made a test pass for the wrong reason
twice already this session.  Full suite 2664 passed.  Built as
2026-09-21_02.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
2026-09-21 01:05:11 -07:00
..
adsb_gen.py Read the pictures, the aircraft, the meters and the sensors 2026-08-29 19:38:37 -07:00
conftest.py Aircraft, from the menus, on a live board, over a real map 2026-09-04 00:05:32 -07:00
image_gen.py Read the pictures, the aircraft, the meters and the sensors 2026-08-29 19:38:37 -07:00
morse_gen.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
signals.py Decode data signals, starting with on-off keying 2026-08-28 12:55:37 -07:00
speech.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
terminal.py Deal with the recordings, not just read them 2026-08-29 13:21:32 -07:00
test_acurite.py Say how strongly each sensor is being heard, and how much of it arrives 2026-09-07 23:50:37 -07:00
test_aircraft_display.py Give the aerodromes a colour of their own, and say what each aircraft is 2026-09-04 22:45:41 -07:00
test_aircraft_menu.py Cover every option in the help, the manual and the readme, and say what to install 2026-09-06 14:12:33 -07:00
test_announce.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_aprs.py Tell the APRS map which band it is on, and where you are standing 2026-09-21 01:05:11 -07:00
test_ax25.py Read the APRS channel: who is out there, and what they said 2026-09-20 19:36:30 -07:00
test_bands.py Name the band beside every frequency, and map who was heard 2026-08-28 11:02:56 -07:00
test_basemap.py A sharper map, and aircraft that fade rather than blink out 2026-09-04 19:04:09 -07:00
test_browse.py Draw the waterfall for everything that never spoke 2026-09-03 18:36:00 -07:00
test_callsign.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_classify.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_decode.py Decode data signals, starting with on-off keying 2026-08-28 12:55:37 -07:00
test_dsp.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_flags.py A window on the sky, and flags on the routes 2026-09-04 13:38:47 -07:00
test_flightmap.py Make the aircraft breathe, and send a ring out from each of them 2026-09-06 17:03:16 -07:00
test_flights.py Give the aerodromes a colour of their own, and say what each aircraft is 2026-09-04 22:45:41 -07:00
test_ident.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_images.py Ask a service that knows which leg it is, and fetch a map worth the screen 2026-09-04 20:19:53 -07:00
test_kml.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_licence.py Cover every option in the help, the manual and the readme, and say what to install 2026-09-06 14:12:33 -07:00
test_livemap.py Tell the APRS map which band it is on, and where you are standing 2026-09-21 01:05:11 -07:00
test_manage.py Deal with the recordings, not just read them 2026-08-29 13:21:32 -07:00
test_manpage.py Read the APRS channel: who is out there, and what they said 2026-09-20 19:36:30 -07:00
test_morse.py Read the Morse a station sends over its own carrier 2026-09-02 07:57:18 -07:00
test_packets.py Read the APRS channel: who is out there, and what they said 2026-09-20 19:36:30 -07:00
test_quality.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_ranges.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_resize.py Redraw cleanly when the window is resized 2026-08-28 15:47:36 -07:00
test_scanner.py Remember runtime lock-outs, and let a lock-out be a span 2026-08-21 23:44:24 -07:00
test_schedules.py Ask a service that knows which leg it is, and fetch a map worth the screen 2026-09-04 20:19:53 -07:00
test_settings.py Remember runtime lock-outs, and let a lock-out be a span 2026-08-21 23:44:24 -07:00
test_signals_named.py Read the weather sensors on 433 MHz, and let them be given names 2026-09-07 13:40:33 -07:00
test_ssb.py Tune SSB to the carrier, and read the sideband from the signal 2026-08-21 23:09:44 -07:00
test_themes.py Let the map brightness reach the map, and put the options in groups 2026-09-06 12:26:00 -07:00
test_transcribe.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_trunk.py Recognise trunking control channels, and refuse to sit on them 2026-08-22 14:22:49 -07:00
test_tui.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_ui.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_version.py Add packaging, date-based versioning, and full install docs 2026-08-21 21:05:51 -07:00
test_waterfall.py Never call a string of Morse tones "words" 2026-09-03 21:44:14 -07:00
test_weather.py Show a sensor's identity in both bases, and take either 2026-09-20 14:47:08 -07:00