### Question:
R4DateTimeFhirToDhisTransformerUtils extends AbstractDateTimeFhirToDhisTransformerUtils { @Override public boolean hasDayPrecision( @Nullable IPrimitiveType<Date> dateTime ) { if ( dateTime == null ) { return true; } return (((BaseDateTimeType) dateTime).getPrecision().ordinal() >= TemporalPrecisionEnum.DAY.ordinal()); } R4DateTimeFhirToDhisTransformerUtils( @Nonnull ScriptExecutionContext scriptExecutionContext ); @Nonnull @Override Set<FhirVersion> getFhirVersions(); @Override boolean hasDayPrecision( @Nullable IPrimitiveType<Date> dateTime ); @Override boolean isValidNow( @Nullable ICompositeType period );  }### Answer:
@Test public void hasDayPrecisionDay() { Assert.assertTrue( utils.hasDayPrecision( new DateTimeType( new Date(), TemporalPrecisionEnum.DAY ) ) ); }
@Test public void hasDayPrecisionSecond() { Assert.assertTrue( utils.hasDayPrecision( new DateTimeType( new Date(), TemporalPrecisionEnum.SECOND ) ) ); }
@Test public void hasDayPrecisionNull() { Assert.assertTrue( utils.hasDayPrecision( null ) ); }
@Test public void hasDayPrecisionMonth() { Assert.assertFalse( utils.hasDayPrecision( new DateTimeType( new Date(), TemporalPrecisionEnum.MONTH ) ) ); }