In addition to tests that just check the dump of all scopes, we want to automatically test edge cases, because in reality scopes aren't used by dumping everything; they iterate from a position. Can handle this by taking the dumped scopes and creating a dummy scope handler that just yields them all, so they'll get filtered by BaseScopeHandler, and then comparing the output of this scope handler to the real scope handler at various corner cases, eg start position at beginning / end of various scopes and iterating in various directions with various hints. Should be pretty performant because there won't be that many test cases and it's not doing a full command, just iterating scopes
In addition to tests that just check the dump of all scopes, we want to automatically test edge cases, because in reality scopes aren't used by dumping everything; they iterate from a position. Can handle this by taking the dumped scopes and creating a dummy scope handler that just yields them all, so they'll get filtered by
BaseScopeHandler, and then comparing the output of this scope handler to the real scope handler at various corner cases, eg start position at beginning / end of various scopes and iterating in various directions with various hints. Should be pretty performant because there won't be that many test cases and it's not doing a full command, just iterating scopes