OTOH, especially with the refactoring of manager.rkt in #14, it might be better to describe behaviors (like "when I draw with advantage, curses go to the curse discard pile") and test that the underlying game state is appropriately manipulated. Then we leave the GUI un-tested except for manual use? If the (declarative) GUI code is simple enough, this might be acceptable.
Perhaps this is acceptable: some schools of thought on testing are that the application behaviors should be tested.
For testing the GUI itself, these might prove helpful:
OTOH, especially with the refactoring of
manager.rkt
in #14, it might be better to describe behaviors (like "when I draw with advantage, curses go to the curse discard pile") and test that the underlying game state is appropriately manipulated. Then we leave the GUI un-tested except for manual use? If the (declarative) GUI code is simple enough, this might be acceptable.