Unit Tests

Added unit tests to verify publicly exposed functionality