Moved functional tests into individual files
New functional test for validation
Move unit tests into their own folder.
Split out unit tests