add test suite for whole library