Added unit tests for smart pointers