I wanted to try from scratch a small java program that I would really make “Test Driven Develop”, starting with an automated “nice” test tool (Concordion). So after a few hoops and difficulties, here is how I set it up. I assume you have a working version of Intellij running. I am using a Mac.
The program I want to test is a Western numbers to Latin numbers converter. For example 18 should become XVIII.
- Start a gradle project in intellij
- in the build.gradle I put the following lines : as explained on the following Concordion page: https://concordion.org/integrations/java/markdown/#gradle

3. Reload the project in Intellij, so that the dependencies are taken into account. This can be done in the “Gradle View” : View >> Tool Windows >> Gradle

Now you are ready to launch Concordion. You will need to create 2 files : one Fixture : “LatinNumbersFixture.java” and one Markdown : “LatinNumbers.md”
4. Create the LatinNumbersFixture.java

package latin;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import translators.Latin;
@RunWith(ConcordionRunner.class)
public class LatinNumbersFixture {
public String getLatinNumberTest(int westernNumber){
String result = Latin.getLatin(westernNumber);
return result;
}
}
5. Create the LatinNumbers.md

# Conversion Tool Latin / Western
### Western → Latin
### [Examples](- "Western to Latin")
| [convertToLatin][][Western][western] | [Latin Equivalent][latinResult] |
|--------------------------------------|---------------------------------|
| 12 | XII |
| 18 | XVIII |
| 99 | LXXXXIX |
| 437 | CCCCXXXVII |
| 999 | DCCCCLXXXXIX |
| 1300 | MCCC |
[western]: - "#western"
[convertToLatin]: - "#result = getLatinNumberTest(#western)"
[latinResult]: - "?=#result"
Ok now we have a test ready to be launched.
6. I found out that I needed to also set this on Intellij to be able to run the tests : in Intellij Preferences, “Run Tests using “Intellij IDEA” instead of default “Gradle”)

7. Create the java class Latin containing the static method getLatin(Integer x) that I use in my test:

8. Run the Concordion Test using the LatinNumbersFixture.java, and display the html results page :

there we go …. all good !
Hope you liked the reading.