Description
TESTed could capture the global scope before and after running a test (main call, expression, statement) such that this global scope could also be evaluated by a custom oracle (the default behavior being that any global scope is accepted; no expected value can be set and no built-in oracle is needed). The global scope could be represented as a mapping of variable names (string) onto strongly typed objects (maybe also the storage location of the objects must be captured to allow testing identity). Custom oracles receive the state of the global scope before and after running the test, so the two can be compared, for example to see that no new global variables have been defined as a side-effect of running a test, that glopbal variables have not been modified, or that global variables have been created or modified).