]> git.basschouten.com Git - openhab-addons.git/blob
2ec1ec23649ae3aaf43ef2fbdba88868e69c3d58
[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.lcn.internal.subhandler;
14
15 import static org.mockito.ArgumentMatchers.any;
16 import static org.mockito.Mockito.*;
17
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.junit.jupiter.api.BeforeEach;
20 import org.junit.jupiter.api.Test;
21 import org.openhab.binding.lcn.internal.common.LcnChannelGroup;
22 import org.openhab.binding.lcn.internal.common.LcnException;
23 import org.openhab.core.library.types.OnOffType;
24
25 /**
26  * Test class.
27  *
28  * @author Fabian Wolter - Initial contribution
29  */
30 @NonNullByDefault
31 public class LcnModuleKeyLockTableSubHandlerTest extends AbstractTestLcnModuleSubHandler {
32     private @NonNullByDefault({}) LcnModuleKeyLockTableSubHandler l;
33
34     @Override
35     @BeforeEach
36     public void setUp() {
37         super.setUp();
38
39         l = new LcnModuleKeyLockTableSubHandler(handler, info);
40     }
41
42     @Test
43     public void testStatus() {
44         tryParseAllHandlers("=M000005.TX098036000255");
45         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "1", OnOffType.OFF);
46         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "2", OnOffType.ON);
47         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "3", OnOffType.OFF);
48         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "4", OnOffType.OFF);
49         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "5", OnOffType.OFF);
50         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "6", OnOffType.ON);
51         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "7", OnOffType.ON);
52         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEA, "8", OnOffType.OFF);
53         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "1", OnOffType.OFF);
54         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "2", OnOffType.OFF);
55         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "3", OnOffType.ON);
56         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "4", OnOffType.OFF);
57         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "5", OnOffType.OFF);
58         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "6", OnOffType.ON);
59         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "7", OnOffType.OFF);
60         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEB, "8", OnOffType.OFF);
61         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "1", OnOffType.OFF);
62         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "2", OnOffType.OFF);
63         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "3", OnOffType.OFF);
64         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "4", OnOffType.OFF);
65         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "5", OnOffType.OFF);
66         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "6", OnOffType.OFF);
67         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "7", OnOffType.OFF);
68         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLEC, "8", OnOffType.OFF);
69         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "1", OnOffType.ON);
70         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "2", OnOffType.ON);
71         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "3", OnOffType.ON);
72         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "4", OnOffType.ON);
73         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "5", OnOffType.ON);
74         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "6", OnOffType.ON);
75         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "7", OnOffType.ON);
76         verify(handler).updateChannel(LcnChannelGroup.KEYLOCKTABLED, "8", OnOffType.ON);
77         verify(handler, times(32)).updateChannel(any(), any(), any());
78     }
79
80     @Test
81     public void testHandleCommandA1Off() throws LcnException {
82         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEA, 0);
83         verify(handler).sendPck("TXA0-------");
84     }
85
86     @Test
87     public void testHandleCommandA1On() throws LcnException {
88         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEA, 0);
89         verify(handler).sendPck("TXA1-------");
90     }
91
92     @Test
93     public void testHandleCommandA8Off() throws LcnException {
94         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEA, 7);
95         verify(handler).sendPck("TXA-------0");
96     }
97
98     @Test
99     public void testHandleCommandA8On() throws LcnException {
100         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEA, 7);
101         verify(handler).sendPck("TXA-------1");
102     }
103
104     @Test
105     public void testHandleCommandB1Off() throws LcnException {
106         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEB, 0);
107         verify(handler).sendPck("TXB0-------");
108     }
109
110     @Test
111     public void testHandleCommandB1On() throws LcnException {
112         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEB, 0);
113         verify(handler).sendPck("TXB1-------");
114     }
115
116     @Test
117     public void testHandleCommandB8Off() throws LcnException {
118         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEB, 7);
119         verify(handler).sendPck("TXB-------0");
120     }
121
122     @Test
123     public void testHandleCommandB8On() throws LcnException {
124         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEB, 7);
125         verify(handler).sendPck("TXB-------1");
126     }
127
128     @Test
129     public void testHandleCommandC1Off() throws LcnException {
130         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEC, 0);
131         verify(handler).sendPck("TXC0-------");
132     }
133
134     @Test
135     public void testHandleCommandC1On() throws LcnException {
136         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEC, 0);
137         verify(handler).sendPck("TXC1-------");
138     }
139
140     @Test
141     public void testHandleCommandC8Off() throws LcnException {
142         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLEC, 7);
143         verify(handler).sendPck("TXC-------0");
144     }
145
146     @Test
147     public void testHandleCommandC8On() throws LcnException {
148         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLEC, 7);
149         verify(handler).sendPck("TXC-------1");
150     }
151
152     @Test
153     public void testHandleCommandD1Off() throws LcnException {
154         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLED, 0);
155         verify(handler).sendPck("TXD0-------");
156     }
157
158     @Test
159     public void testHandleCommandD1On() throws LcnException {
160         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLED, 0);
161         verify(handler).sendPck("TXD1-------");
162     }
163
164     @Test
165     public void testHandleCommandD8Off() throws LcnException {
166         l.handleCommandOnOff(OnOffType.OFF, LcnChannelGroup.KEYLOCKTABLED, 7);
167         verify(handler).sendPck("TXD-------0");
168     }
169
170     @Test
171     public void testHandleCommandD8On() throws LcnException {
172         l.handleCommandOnOff(OnOffType.ON, LcnChannelGroup.KEYLOCKTABLED, 7);
173         verify(handler).sendPck("TXD-------1");
174     }
175 }