### Question:
DateUtils { public static Date copy(final Date date) { if (date == null) { return null; } return new Date(date.getTime()); } private  DateUtils(); static Date parseAndComplete(final String dateExpression, final boolean upComplete); static String toDateTimeString(final Date date); static String toDateString(final Date date); static Date parseDate(final Object value); static Either<? extends Exception, Optional<DateTime>> tryParse(final Object value); static Date copy(final Date date); static final String L_DATE_FORMAT; static final String L_DATE_TIME_FORMAT; static final String L_REPORT_DATE_TIME_FORMAT; }### Answer:
@Test public final void shouldCopyReturnNullForNullArgument() { assertNull(DateUtils.copy(null)); }
@Test public final void shouldCopyReturnNewInstanceOfDate() { Date originalDate = new DateTime(2013, 1, 1, 0, 0, 0, 0).toDate(); Date date = DateUtils.copy(originalDate); assertEquals(originalDate, date); originalDate.setTime(originalDate.getTime() - 10000); assertFalse(originalDate.equals(date)); }