fully test the successor function