Two things. Had improper tests for Level - I somehow thought I was testing the wrong function, and left a function untested (Level.get_cell_at()). Wrote a test, tested, revised function some.Fine now. OTOH having issues comparing two Level objects - python defaults to identity comparison, which is kind of annoying. Might just brute-force a 'compare every Cell in _cells' but that could get slow - OTOH computers today are magic, sooooo...maybe do it now and fix it if it turns out to be too slow? It's not as if level comparisons are a commonly used function...
Wrote LoaderLevel, passes tests. Started using try: except AttributeError - well, it works, but I'm uneasy with the concept. It's practically forgiveness over permission encoded in programming language terms!
Going to get the display up and running next.
Tested, implemented Cell.get_display_images(). Nearly 5, ending for today.