fixed test cases

- added test init & cleanup
- added exceptions capturing
- removed objects comparing in asserts
- used linq where appropriate
- added assert comments