@Test
public void conversionsForLong() {

    long nanos = new TimeBuilder()
            .add(3, TimeUnit.DAYS)
            .add(5, TimeUnit.HOURS)
            .add(13, TimeUnit.MINUTES)
            .add(17, TimeUnit.SECONDS)
            .add(43, TimeUnit.MICROSECONDS)
            .add(666, TimeUnit.NANOSECONDS) // will be truncated, since we're working with micros
            .getNanos();
    long raw = AkInterval.secondsRawFrom(nanos, TimeUnit.NANOSECONDS);
    long amount; // will go from days, to hours, etc to nanos
    amount = checkAndGet(raw, TimeUnit.DAYS, 3);
    amount = checkAndGet(raw, TimeUnit.HOURS, (amount*24) + 5);
    amount = checkAndGet(raw, TimeUnit.MINUTES, (amount*60) + 13);
    amount = checkAndGet(raw, TimeUnit.SECONDS, (amount*60) + 17);
    amount = checkAndGet(raw, TimeUnit.MICROSECONDS, (amount*1000000) + 43);
    checkAndGet(raw, TimeUnit.NANOSECONDS, amount*1000); // the 666 extra were truncated
}