As Joachim mentioned I need to have overloads for BeAValidDate that accepts both null and non-null dates.
private bool BeAValidDate(DateTime date)
{
if (date == default(DateTime))
return false;
return true;
}
private bool BeAValidDate(DateTime? date)
{
if (date == default(DateTime))
return false;
return true;
}