Issue 127

It is not clear what each of these test is doing. I think this could be written in a way which avoids the repeated code (as this approach does) but which also makes it more clear what each test is doing.

For example you could have a method like `newRecovery(recoveryDateTime)` which does what is currently in lines 19-34. It would set up and save the objects as currently, using the `recoveryDateTime` parameter for the ReceiverRecorvery, and returns `recovery`. Then you could have the appropriate assert statements in the test themselves (so there is no need for the if/else).

<pre>
void testRecoveryDateBeforeDeploymentDate() {
    def recovery = newRecovery(new DateTime().minusDays(1))

    assertNotNull(recovery.errors.recoveryDateTime)
    assertTrue(recovery.errors.recoveryDateTime.contains('invalid.beforeDeploymentDateTime'))
}

void testRecoveryDateAfterDeploymentDate() {
    def recovery = newRecovery(new DateTime().plusDays(1))

    assertNull(recovery.errors.recoveryDateTime)
}
</pre>

There would be other ways to make the tests more clear as well.