Unit test improvements

Adding unit tests to multiple components as well as the general testing skeleton for each component.