Create Unit Tests

Create unit tests that run in a short amount of time (<10 min) that are expected be run before every PR.