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.surepetcare.internal.data;
15 import static org.junit.jupiter.api.Assertions.*;
17 import java.time.LocalTime;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.junit.jupiter.api.Test;
21 import org.openhab.binding.surepetcare.internal.dto.SurePetcareDeviceCurfew;
22 import org.openhab.binding.surepetcare.internal.dto.SurePetcareDeviceCurfewList;
25 * The {@link SurePetcareDeviceCurfewListTest} class implements unit test case for {@link SurePetcareDeviceCurfewList}
27 * @author Rene Scherer - Initial contribution
30 public class SurePetcareDeviceCurfewListTest {
33 public void testGet() {
34 SurePetcareDeviceCurfewList orig = new SurePetcareDeviceCurfewList();
35 orig.add(new SurePetcareDeviceCurfew());
36 orig.add(new SurePetcareDeviceCurfew(true, LocalTime.of(12, 00, 00), LocalTime.of(13, 00, 00)));
38 assertEquals(orig.size(), 2);
39 assertFalse(orig.get(0).enabled);
40 assertTrue(orig.get(1).enabled);
41 assertEquals(orig.size(), 2);
43 assertFalse(orig.get(2).enabled);
44 assertEquals(orig.size(), 3);
46 assertFalse(orig.get(3).enabled);
47 assertEquals(orig.size(), 4);
49 assertFalse(orig.get(9).enabled);
50 assertEquals(orig.size(), 10);
54 public void testOrder() {
55 SurePetcareDeviceCurfewList orig = new SurePetcareDeviceCurfewList();
56 orig.add(new SurePetcareDeviceCurfew());
57 orig.add(new SurePetcareDeviceCurfew(true, LocalTime.of(12, 00, 00), LocalTime.of(13, 00, 00)));
58 orig.add(new SurePetcareDeviceCurfew(true, LocalTime.of(19, 00, 00), LocalTime.of(20, 00, 00)));
60 assertEquals(orig.size(), 3);
61 assertFalse(orig.get(0).enabled);
62 assertTrue(orig.get(1).enabled);
63 assertTrue(orig.get(2).enabled);
65 SurePetcareDeviceCurfewList ordered = orig.order();
66 assertEquals(ordered.size(), 4);
68 assertTrue(ordered.get(0).enabled);
69 assertEquals(ordered.get(0).lockTime, LocalTime.of(12, 00, 00));
70 assertTrue(ordered.get(1).enabled);
71 assertFalse(ordered.get(2).enabled);
72 assertFalse(ordered.get(3).enabled);
76 public void testCompact() {
77 SurePetcareDeviceCurfewList orig = new SurePetcareDeviceCurfewList();
78 orig.add(new SurePetcareDeviceCurfew());
79 orig.add(new SurePetcareDeviceCurfew(true, LocalTime.of(12, 00, 00), LocalTime.of(13, 00, 00)));
80 orig.add(new SurePetcareDeviceCurfew(true, LocalTime.of(19, 00, 00), LocalTime.of(20, 00, 00)));
81 orig.add(new SurePetcareDeviceCurfew());
83 assertEquals(orig.size(), 4);
84 assertFalse(orig.get(0).enabled);
85 assertTrue(orig.get(1).enabled);
86 assertTrue(orig.get(2).enabled);
87 assertFalse(orig.get(3).enabled);
89 SurePetcareDeviceCurfewList compact = orig.compact();
90 assertEquals(compact.size(), 2);
92 assertTrue(compact.get(0).enabled);
93 assertEquals(compact.get(0).lockTime, LocalTime.of(12, 00, 00));
94 assertTrue(compact.get(1).enabled);
95 assertEquals(compact.get(1).lockTime, LocalTime.of(19, 00, 00));