package gs.timing.v0 import java.util.concurrent.TimeUnit import munit.* import scala.concurrent.duration.FiniteDuration class ElapsedTimeTests extends FunSuite: test("should convert to nanoseconds, milliseconds, and seconds") { val start = 0L val end = 1000000L * 2000L // 2 seconds, 2000 millis val nanos = end - start val millis = nanos / 1000000L val seconds = millis / 1000L val elapsed = ElapsedTime( start = start, end = end, duration = FiniteDuration(nanos, TimeUnit.NANOSECONDS) ) assertEquals(elapsed.toNanoseconds(), nanos) assertEquals(elapsed.toMilliseconds(), millis) assertEquals(elapsed.toSeconds(), seconds) }