The class cointaining the tests and all the needed functionality to run the
run the tests sequentially.
Tests are sorted alphanumerically and run. No
tests should depend on the outcome of previous tests. There are some
exceptions tho: The three first tests clean up the database and create
overall structure and class tables
clean up the database before every test and initialize a clean TestSerializable and assertion array.
assertion fails if an exception was raised
fail with msg if assertion is false
initialize the database with the tables for basic datatypes and tables that
contain metadata.
reconnect to database and enable transactions
then insert a TestSerializable object
insert an object and update it
use store to insert an object
use store to update an object
insert two objects and check that shared subobjects are only present once
check that objects that should not get deleted won’t be
check that the API will complain if we try to delete objects that are
needed by other objects