added optional path agnostic result reporting
changed JUnit test cases to use new Assert class instead of the old deprecated one
generalized a type