package com.github.pfichtner.jrunalyser.base.data; import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.Test; import com.github.pfichtner.jrunalyser.base.data.DefaultDuration; import com.github.pfichtner.jrunalyser.base.data.Duration; import com.google.common.collect.Lists; public class DefaultDurationTest { @Test public void testComprable() { Duration a = DefaultDuration.of(5, TimeUnit.MINUTES); Duration b = DefaultDuration.of(1, TimeUnit.HOURS); Duration c = DefaultDuration.of(65, TimeUnit.MINUTES); Duration d = DefaultDuration.of(2, TimeUnit.MINUTES); Duration e = DefaultDuration.of(190, TimeUnit.SECONDS); List<Duration> list = Lists.newArrayList(Arrays.asList(a, b, c, d, e)); Collections.sort(list); assertEquals(Arrays.asList(d, e, a, b, c), list); } @Test public void testAdd() { Duration d1 = DefaultDuration.of(1, TimeUnit.SECONDS); Duration d2 = DefaultDuration.of(1, TimeUnit.MINUTES); assertEquals(DefaultDuration.of(61, TimeUnit.SECONDS), d1.add(d2)); assertEquals(DefaultDuration.of(1.0166666666666666, TimeUnit.MINUTES), d2.add(d1)); } }