Each java class should be covered by an according test class. We are going to use JUnit for unit testing, the current dependency version is [JUnit4](https://junit.org/junit4/). The approach of test driven development is to first define the task of a class and write a test class which is going to check if this task is done without errors and returns the right and expected result. Then write the corresponding java class. For already existing code get familiar with it and figure out the intended tasks and expected results.
To create a test class you may for example use the JUnit provided superclass TestCase, however, please make yourself familiar with the [writing of tests with JUnit](https://junit.org/junit5/docs/current/user-guide/#writing-tests).
**Notes**:
* Test classes should always end of "Test", so for example the java class `MyClass.java` will be tested with `MyClassTest.java`
* All test classes have to be located in the `src/test` package of a module
* Use the IDE functions to automatically create a test class for a java class
* e.g. `Right click` on the class name in the code view, `Generate` - `Test...`
* Always use the automatic evaluation of test results, e.g. JUnits `Assertions`
* Try to define simple and meaningful example data for testing, which allows to comprehend the results and to check if the classes work correctly
----------------------
**TODO: describe tests using Flink and Gradoop (e.g. usage of GradoopFlinkTestBase)**