]> git.basschouten.com Git - openhab-addons.git/blob
6228c83ab7b52e4044fde7a6c257d6ecae86356e
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.surepetcare.internal.data;
14
15 import static org.junit.jupiter.api.Assertions.*;
16
17 import java.time.LocalTime;
18
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;
23
24 /**
25  * The {@link SurePetcareDeviceCurfewListTest} class implements unit test case for {@link SurePetcareDeviceCurfewList}
26  *
27  * @author Rene Scherer - Initial contribution
28  */
29 @NonNullByDefault
30 public class SurePetcareDeviceCurfewListTest {
31
32     @Test
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)));
37
38         assertEquals(orig.size(), 2);
39         assertFalse(orig.get(0).enabled);
40         assertTrue(orig.get(1).enabled);
41         assertEquals(orig.size(), 2);
42
43         assertFalse(orig.get(2).enabled);
44         assertEquals(orig.size(), 3);
45
46         assertFalse(orig.get(3).enabled);
47         assertEquals(orig.size(), 4);
48
49         assertFalse(orig.get(9).enabled);
50         assertEquals(orig.size(), 10);
51     }
52
53     @Test
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)));
59
60         assertEquals(orig.size(), 3);
61         assertFalse(orig.get(0).enabled);
62         assertTrue(orig.get(1).enabled);
63         assertTrue(orig.get(2).enabled);
64
65         SurePetcareDeviceCurfewList ordered = orig.order();
66         assertEquals(ordered.size(), 4);
67
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);
73     }
74
75     @Test
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());
82
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);
88
89         SurePetcareDeviceCurfewList compact = orig.compact();
90         assertEquals(compact.size(), 2);
91
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));
96     }
97 }