private void createTestCase(String testDirectory, XMLTestSuiteDocument xmlTestSuiteDocument, XMLTestSuite xmlTestSuite, Map<String, Partner> suitePartners, Map<String, HumanPartner> suiteHumanPartners, Partner suiteClient, TestSuite suite, int currentNumber, XMLTestCase xmlTestCase) throws SpecificationException { String xmlTestCaseName = getTestCaseName(currentNumber, xmlTestCase); boolean isVary = xmlTestCase.getVary(); int rounds = computeNumberOfRounds(xmlTestSuiteDocument, isVary); fLogger.info("Varying: " + isVary + " (Rounds: " + rounds + ")"); IDataSource dataSource = readDataSource(testDirectory, xmlTestSuite, xmlTestCase); final int nRows = getNumberOfRows(dataSource); final int nRounds = getNumberOfRounds(isVary, rounds); for (int iRow = 0; iRow < nRows; ++iRow) { for (int iRound = 0; iRound < nRounds; iRound++) { String currentTestCaseName = getHumanReadableTestCaseName( xmlTestCaseName, rounds, dataSource, iRow, iRound); if (!xmlTestCase.getAbstract()) { TestCase test = createTestCase(suitePartners, suiteHumanPartners, suiteClient, suite, xmlTestCase, currentTestCaseName, iRound, testDirectory); test.setDataSource(dataSource); test.setRowIndex(iRow); suite.addTestCase(test); } } } }