improve(tests): move tests to a seperate folder and introduce test case inheritance
doc(tests): added instructions on how to run the testsuite