functor test suite