Add perft unit test