2 * Copyright (c) 2010-2020 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.enigma2.internal.actions;
15 import static org.hamcrest.MatcherAssert.assertThat;
16 import static org.hamcrest.Matchers.is;
17 import static org.junit.jupiter.api.Assertions.assertThrows;
18 import static org.mockito.Mockito.*;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.eclipse.jdt.annotation.Nullable;
22 import org.junit.jupiter.api.BeforeEach;
23 import org.junit.jupiter.api.Test;
24 import org.openhab.binding.enigma2.internal.Enigma2BindingConstants;
25 import org.openhab.binding.enigma2.internal.handler.Enigma2Handler;
28 * The {@link Enigma2ActionsTest} class is responsible for testing {@link Enigma2Actions}.
30 * @author Guido Dolfen - Initial contribution
32 @SuppressWarnings("null")
34 public class Enigma2ActionsTest {
36 private Enigma2Actions enigma2Actions;
38 private Enigma2Handler enigma2Handler;
39 public static final String SOME_TEXT = "some Text";
43 enigma2Handler = mock(Enigma2Handler.class);
44 enigma2Actions = new Enigma2Actions();
45 enigma2Actions.setThingHandler(enigma2Handler);
49 public void testGetThingHandler() {
50 assertThat(enigma2Actions.getThingHandler(), is(enigma2Handler));
54 public void testSendRcCommand() {
55 enigma2Actions.sendRcCommand("KEY_1");
56 verify(enigma2Handler).sendRcCommand("KEY_1");
60 public void testSendInfo() {
61 enigma2Actions.sendInfo(SOME_TEXT);
62 verify(enigma2Handler).sendInfo(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
66 public void testSendInfoTimeout() {
67 enigma2Actions.sendInfo(SOME_TEXT, 10);
68 verify(enigma2Handler).sendInfo(10, SOME_TEXT);
72 public void testSendError() {
73 enigma2Actions.sendError(SOME_TEXT);
74 verify(enigma2Handler).sendError(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
78 public void testSendErrorTimeout() {
79 enigma2Actions.sendError(SOME_TEXT, 10);
80 verify(enigma2Handler).sendError(10, SOME_TEXT);
84 public void testSendWarning() {
85 enigma2Actions.sendWarning(SOME_TEXT);
86 verify(enigma2Handler).sendWarning(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
90 public void testSendWarningTimeout() {
91 enigma2Actions.sendWarning(SOME_TEXT, 10);
92 verify(enigma2Handler).sendWarning(10, SOME_TEXT);
96 public void testSendQuestion() {
97 enigma2Actions.sendQuestion(SOME_TEXT);
98 verify(enigma2Handler).sendQuestion(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
102 public void testSendQuestionTimeout() {
103 enigma2Actions.sendQuestion(SOME_TEXT, 10);
104 verify(enigma2Handler).sendQuestion(10, SOME_TEXT);
108 public void testSendRcCommandStatic() {
109 Enigma2Actions.sendRcCommand(enigma2Actions, "KEY_1");
110 verify(enigma2Handler).sendRcCommand("KEY_1");
114 public void testSendRcCommandStaticWithException() {
115 assertThrows(IllegalArgumentException.class, () -> Enigma2Actions.sendRcCommand(null, "KEY_1"));
119 public void testSendInfoStatic() {
120 Enigma2Actions.sendInfo(enigma2Actions, SOME_TEXT);
121 verify(enigma2Handler).sendInfo(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
125 public void testSendInfoTimeoutStatic() {
126 Enigma2Actions.sendInfo(enigma2Actions, SOME_TEXT, 10);
127 verify(enigma2Handler).sendInfo(10, SOME_TEXT);
131 public void testSendInfoStaticWithException() {
132 assertThrows(IllegalArgumentException.class, () -> Enigma2Actions.sendInfo(null, SOME_TEXT));
136 public void testSendErrorStatic() {
137 Enigma2Actions.sendError(enigma2Actions, SOME_TEXT);
138 verify(enigma2Handler).sendError(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
142 public void testSendErrorTimeoutStatic() {
143 Enigma2Actions.sendError(enigma2Actions, SOME_TEXT, 10);
144 verify(enigma2Handler).sendError(10, SOME_TEXT);
148 public void testSendErrorStaticWithException() {
149 assertThrows(IllegalArgumentException.class, () -> Enigma2Actions.sendError(null, SOME_TEXT));
153 public void testSendWarningStatic() {
154 Enigma2Actions.sendWarning(enigma2Actions, SOME_TEXT);
155 verify(enigma2Handler).sendWarning(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
159 public void testSendWarningTimeoutStatic() {
160 Enigma2Actions.sendWarning(enigma2Actions, SOME_TEXT, 10);
161 verify(enigma2Handler).sendWarning(10, SOME_TEXT);
165 public void testSendWarningStaticWithException() {
166 assertThrows(IllegalArgumentException.class, () -> Enigma2Actions.sendWarning(null, SOME_TEXT));
170 public void testSendQuestionStatic() {
171 Enigma2Actions.sendQuestion(enigma2Actions, SOME_TEXT);
172 verify(enigma2Handler).sendQuestion(Enigma2BindingConstants.MESSAGE_TIMEOUT, SOME_TEXT);
176 public void testSendQuestionTimeoutStatic() {
177 Enigma2Actions.sendQuestion(enigma2Actions, SOME_TEXT, 10);
178 verify(enigma2Handler).sendQuestion(10, SOME_TEXT);
182 public void testSendQuestionStaticWithException() {
183 assertThrows(IllegalArgumentException.class, () -> Enigma2Actions.sendQuestion(null, SOME_TEXT));