package org.webpieces.mock.time;
import com.webpieces.util.time.Time;
public class MockTime implements Time {
//we use a nice round number for debugging
private long currentNanos = 1400000000*1000000;
public MockTime(boolean frozenToNiceNanos) {
if(!frozenToNiceNanos) {
//freeze to a nice date instead
//Epoch timestamp: 1483264800
//Timestamp in milliseconds: 1483264800000
//Human time (GMT): Sun, 01 Jan 2017 10:00:00 GMT
currentNanos = 1483264800*1000000;
}
}
public MockTime(long frozenTimeNanos) {
this.currentNanos = frozenTimeNanos;
}
@Override
public long currentMillis() {
return currentNanos / 1000000;
}
@Override
public long currentNanos() {
return currentNanos;
}
public void advanceBySeconds(int seconds) {
advanceByMilliseconds(seconds*1000);
}
public void advanceByMilliseconds(int millis) {
currentNanos += millis*1000000;
}
}