corda/sgx-jvm/avian/test/TimeUnitConversions.java
Andras Slemmer 9bb3d6b972 Add 'sgx-jvm/avian/' from commit '09e4fe60d01f4f4bfb6b2976973bb4913ef61edc'
git-subtree-dir: sgx-jvm/avian
git-subtree-mainline: f978eab8d1
git-subtree-split: 09e4fe60d0
2017-03-13 12:18:24 +00:00

118 lines
5.5 KiB
Java

import java.util.concurrent.TimeUnit;
public class TimeUnitConversions {
private static void expect(long v1, long v2) {
if (v1 != v2) {
throw new RuntimeException(v1 + " != " + v2);
}
}
private static void toNanoConversionTest() {
long expectedValue = 1;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.NANOSECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.MICROSECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.MILLISECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.SECONDS), expectedValue);
expectedValue *= 60;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.MINUTES), expectedValue);
expectedValue *= 60;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.NANOSECONDS.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toMicroConversionTest() {
long expectedValue = 1;
expect(TimeUnit.MICROSECONDS.convert(1000, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.MICROSECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.MILLISECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.SECONDS), expectedValue);
expectedValue *= 60;
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.MINUTES), expectedValue);
expectedValue *= 60;
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.MICROSECONDS.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toMilliConversionTest() {
long expectedValue = 1;
expect(TimeUnit.MILLISECONDS.convert(1000L * 1000, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.MILLISECONDS.convert(1000, TimeUnit.MICROSECONDS), expectedValue);
expect(TimeUnit.MILLISECONDS.convert(1, TimeUnit.MILLISECONDS), expectedValue);
expectedValue *= 1000;
expect(TimeUnit.MILLISECONDS.convert(1, TimeUnit.SECONDS), expectedValue);
expectedValue *= 60;
expect(TimeUnit.MILLISECONDS.convert(1, TimeUnit.MINUTES), expectedValue);
expectedValue *= 60;
expect(TimeUnit.MILLISECONDS.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toSecondConversionTest() {
long expectedValue = 1;
expect(TimeUnit.SECONDS.convert(1000L * 1000 * 1000, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.SECONDS.convert(1000L * 1000, TimeUnit.MICROSECONDS), expectedValue);
expect(TimeUnit.SECONDS.convert(1000, TimeUnit.MILLISECONDS), expectedValue);
expect(TimeUnit.SECONDS.convert(1, TimeUnit.SECONDS), expectedValue);
expectedValue *= 60;
expect(TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES), expectedValue);
expectedValue *= 60;
expect(TimeUnit.SECONDS.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.SECONDS.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toMinuteConversionTest() {
long expectedValue = 1;
expect(TimeUnit.MINUTES.convert(1000L * 1000 * 1000 * 60, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.MINUTES.convert(1000L * 1000 * 60, TimeUnit.MICROSECONDS), expectedValue);
expect(TimeUnit.MINUTES.convert(1000L * 60, TimeUnit.MILLISECONDS), expectedValue);
expect(TimeUnit.MINUTES.convert(60, TimeUnit.SECONDS), expectedValue);
expect(TimeUnit.MINUTES.convert(1, TimeUnit.MINUTES), expectedValue);
expectedValue *= 60;
expect(TimeUnit.MINUTES.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.MINUTES.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toHourConversionTest() {
long expectedValue = 1;
expect(TimeUnit.HOURS.convert(1000L * 1000 * 1000 * 60 * 60, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.HOURS.convert(1000L * 1000 * 60 * 60, TimeUnit.MICROSECONDS), expectedValue);
expect(TimeUnit.HOURS.convert(1000L * 60 * 60, TimeUnit.MILLISECONDS), expectedValue);
expect(TimeUnit.HOURS.convert(60L * 60, TimeUnit.SECONDS), expectedValue);
expect(TimeUnit.HOURS.convert(60, TimeUnit.MINUTES), expectedValue);
expect(TimeUnit.HOURS.convert(1, TimeUnit.HOURS), expectedValue);
expectedValue *= 24;
expect(TimeUnit.HOURS.convert(1, TimeUnit.DAYS), expectedValue);
}
private static void toDayConversionTest() {
long expectedValue = 1;
expect(TimeUnit.DAYS.convert(1000L * 1000 * 1000 * 60 * 60 * 24, TimeUnit.NANOSECONDS), expectedValue);
expect(TimeUnit.DAYS.convert(1000L * 1000 * 60 * 60 * 24, TimeUnit.MICROSECONDS), expectedValue);
expect(TimeUnit.DAYS.convert(1000L * 60 * 60 * 24, TimeUnit.MILLISECONDS), expectedValue);
expect(TimeUnit.DAYS.convert(60L * 60 * 24, TimeUnit.SECONDS), expectedValue);
expect(TimeUnit.DAYS.convert(60L * 24, TimeUnit.MINUTES), expectedValue);
expect(TimeUnit.DAYS.convert(24, TimeUnit.HOURS), expectedValue);
expect(TimeUnit.DAYS.convert(1, TimeUnit.DAYS), expectedValue);
}
public static void main(String[] args) {
toNanoConversionTest();
toMicroConversionTest();
toMilliConversionTest();
toSecondConversionTest();
toMinuteConversionTest();
toHourConversionTest();
toDayConversionTest();
}
}