Test skeleton, TODO: refactoring function and predicates to a testable class
Refactoring guava predicates and functions, added tests