add book select function and test case