static TestResults testTrainableFunction(O function, L inputParams, L outputParams) { new TestResults results; O trained = callF(function, inputParams); for (int i = 0; i+1 < l(outputParams); i += 2) try { O out = callF(trained, params[i]); results.add(testResult_eq(out, params[i+1])); } catch e { results.add(testResult_error(e)); } ret results; }