private SlimAssertion callFunctionInRow(String functionName, int row) { int col = funcStore.getColumnNumber(functionName); String assignedSymbol = ifSymbolAssignment(col, row); SlimAssertion assertion; Object[] args = new Object[] {}; MethodExtractorResult extractedGetter = getterMethodExtractor.findRule(functionName); if (extractedGetter != null) { functionName = extractedGetter.methodName; args = extractedGetter.mergeParameters(args); } if (assignedSymbol != null) { assertion = makeAssertion( callAndAssign(assignedSymbol, getTableName(), functionName, args), new SymbolAssignmentExpectation(assignedSymbol, col, row)); } else { assertion = makeAssertion( callFunction(getTableName(), functionName, args), new ReturnedValueExpectation(col, row, getDTCellContents(col, row))); } return assertion; }
private List<SlimAssertion> setVariables(int row) { List<SlimAssertion> assertions = new ArrayList<>(); for (String var : varStore.getLeftToRightAndResetColumnNumberIterator()) { int col = varStore.getColumnNumber(var); String valueToSet = getDTCellContents(col, row); Object[] args = new Object[] {valueToSet}; MethodExtractorResult extractedSetter = setterMethodExtractor.findRule(var); if (extractedSetter != null) { var = extractedSetter.methodName; args = extractedSetter.mergeParameters(args); } else { // Default for Setter var = "set " + var; } Instruction setInstruction = callFunction(getTableName(), var, args); assertions.add(makeAssertion(setInstruction, new VoidReturnExpectation(col, row))); } return assertions; }