2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.sleepiq.api.model;
15 import static org.junit.jupiter.api.Assertions.assertEquals;
17 import java.time.Duration;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.junit.jupiter.api.Test;
21 import org.openhab.binding.sleepiq.internal.api.dto.TimeSince;
24 * The {@link TimeSinceText} tests TimeSince.
26 * @author Gregory Moyer - Initial contribution
29 public class TimeSinceTest {
31 public void testWithDuration() {
32 assertEquals(new TimeSince().withDuration(0, 0, 0, 0).getDuration(),
33 new TimeSince().withDuration(Duration.parse("PT00H00M00S")).getDuration());
34 assertEquals(new TimeSince().withDuration(0, 2, 3, 4).getDuration(),
35 new TimeSince().withDuration(Duration.parse("PT02H03M04S")).getDuration());
36 assertEquals(new TimeSince().withDuration(0, 12, 34, 56).getDuration(),
37 new TimeSince().withDuration(Duration.parse("PT12H34M56S")).getDuration());
38 assertEquals(new TimeSince().withDuration(1, 2, 3, 4).getDuration(),
39 new TimeSince().withDuration(Duration.parse("P1DT02H03M04S")).getDuration());
40 assertEquals(new TimeSince().withDuration(12, 23, 34, 45).getDuration(),
41 new TimeSince().withDuration(Duration.parse("P12DT23H34M45S")).getDuration());
45 public void testToString() {
46 assertEquals("00:00:00", new TimeSince().withDuration(Duration.parse("PT00H00M00S")).toString());
47 assertEquals("02:03:04", new TimeSince().withDuration(Duration.parse("PT02H03M04S")).toString());
48 assertEquals("12:34:56", new TimeSince().withDuration(Duration.parse("PT12H34M56S")).toString());
49 assertEquals("1 d 02:03:04", new TimeSince().withDuration(Duration.parse("P1DT02H03M04S")).toString());
50 assertEquals("12 d 23:34:45", new TimeSince().withDuration(Duration.parse("P12DT23H34M45S")).toString());
54 public void testParse() {
55 assertEquals(Duration.parse("PT00H00M00S"), TimeSince.parse("00:00:00").getDuration());
56 assertEquals(Duration.parse("PT2H3M4S"), TimeSince.parse("02:03:04").getDuration());
57 assertEquals(Duration.parse("PT12H34M56S"), TimeSince.parse("12:34:56").getDuration());
58 assertEquals(Duration.parse("P1DT2H3M4S"), TimeSince.parse("1 d 02:03:04").getDuration());
59 assertEquals(Duration.parse("P12DT23H34M45S"), TimeSince.parse("12 d 23:34:45").getDuration());