function interface: remove the `field` parameter.
We remove the idea of field
(or source
and target
for that matter) and change our test interface to
testInterface(data: DictOfSeries, flagger: BaseFlagger, *args, **kwargs) -> dios.DictOfSeries, BaseFlagger
In this scenario the core
would be responsible for the trim-down (and merge-back) of data
and flagger
and only the relevant columns/variables would be passed to the testInterface
. All our tests and functions can and need to work on 2D data structures then, i.e a test like flagRange
now checks and flags all columns/variables available in data
at once.
I think this would open up some possibilities for performance improvements (merging API-calls with the same parameters into one actual function call should save some cycles), solves the multivariate function case in a very natural way and inhibits accidental overwrites of other variables within buggy tests.