@Test(timeout = 8000)
public void main() throws Throwable {

    for (int i = 0; i < testSet.length; i++) {
        outStream.reset();
        TestUtils.runMain(new ByteArrayInputStream(testSet[i][0]), new PrintStream(outStream));
        byte[] expected = testSet[i][1];
        byte[] actual = outStream.toByteArray();
        String message = String.format("Test#%d: Expected %s but was %s", i, Arrays.toString(expected), Arrays.toString(actual));
        assertArrayEquals(message, expected, actual);
    }
}