Added unit tests for everything except expressions