add test cases for new class
remove unused variables and fix tests
extract some methods
Merge branch 'master' of https://github.com/CMPUT301F13T08/CMPUT301F13T08.git