Added tests and documentation

Eclipse errors are not a code problem, it runs fine in both Maven,
Eclipse, and the `mvn` cli here.