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