add eunit test (and not all passed for now)