001package Torello.Java.Build;
002
003import Torello.Java.StorageWriter;
004
005import java.io.IOException;
006
007/**
008 * Used to identify any and all top-level testing classes which should be invoked in order to run 
009 * the tests located in a {@code '../test-classes/'} directory.
010 * 
011 * <EMBED CLASS='external-html' DATA-FILE-ID=JSON_TEST_DIR>
012 * @see Testing
013 */
014public interface TestingClass
015{
016    /**
017     * This method must be implemented in order for the Test-Suite Class-Builder to be able to 
018     * identify which method should be invoked in order to run the tests
019     * 
020     * @param sw This is used as a logging parameter.
021     * @return {@code TRUE} if all tests succeeded, and {@code FALSE} if a single test failed.
022     * 
023     * @throws IOException This is allowed to throw.  The {@link StorageWriter} class permits this
024     * excetion throw with many of its methods.
025     */
026    public boolean runTests(StorageWriter sw) throws IOException;
027}