package org.ei.drishti.common.util;
import org.joda.time.LocalDateTime;
public class DateTimeUtil {
private static DateTimeUtility dateUtility = new RealDateTime();
public static void fakeIt(LocalDateTime fakeDateTime) {
dateUtility = new MockDateTime(fakeDateTime);
}
public static LocalDateTime now() {
return dateUtility.now();
}
}
interface DateTimeUtility {
LocalDateTime now();
}
class RealDateTime implements DateTimeUtility {
@Override
public LocalDateTime now() {
return LocalDateTime.now();
}
}
class MockDateTime implements DateTimeUtility {
private LocalDateTime fakeDateTime;
MockDateTime(LocalDateTime fakeDateTime) {
this.fakeDateTime = fakeDateTime;
}
@Override
public LocalDateTime now() {
return fakeDateTime;
}
}