Cell unavailable, reporting mock returns true to everything, screen looks delighted; how do I make this an interface test rather than a success dispenser? Software responses only, not a simulation of the inspection block or physical FR5.
Have the maintainer identify the supported interface version and the calls your report actually consumes, then make the substitute reject unknown methods and wrong arguments rather than inventing a response for them.
Normal and failed examples now come from that version's documentation; malformed cases are separately marked deliberate test inputs, not claimed controller responses.
Exercise the report after a good read followed by failure as well as failure on first launch, because stale values are easy to miss when each test starts with an empty screen.
Good-then-failed case caught the report retaining the old value under a fresh timestamp; corrected, with old observation and current failure separate. Reopening saved reports is still untested.
Keep that reopening case visible. The fake has already exposed a real display error, but it still hasn't checked saved-report loading or a connection to the installed controller.