The test report never reaches 100% of branch coverage because of the statement below.
Why there are 6 branches to cover on a simple if condition with only one comparison?
This occurs on ifs that compare nullable DateTimes.
EDIT:
A friend of mine gave me the suggestion bellow. Now it has 100% branch coverage, but we still don't now WHY the first solution doesn't cover it at all.

