]> git.basschouten.com Git - openhab-addons.git/blob
25ae882a2a476f7c8a799971dc93da4abc78fe02
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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.daikin.internal.api;
14
15 import static org.junit.jupiter.api.Assertions.assertEquals;
16
17 import java.io.IOException;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.junit.jupiter.api.BeforeEach;
21 import org.junit.jupiter.api.Test;
22 import org.openhab.binding.daikin.internal.api.Enums.FanMovement;
23
24 /**
25  * This class provides tests for deconz lights
26  *
27  * @author Leo Siepel - Initial contribution
28  *
29  */
30
31 @NonNullByDefault
32 public class ControlInfoTest {
33
34     @BeforeEach
35     public void initialize() {
36     }
37
38     @Test
39     public void separateUpAndDown() {
40         // arrange
41         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir_ud=S,f_dir_lr=0,ndfd1=00,ndfd2=00,ndfd3=S0,ndfd4=00,ndfd6=00,ndfdh=00";
42
43         // act
44         ControlInfo info = ControlInfo.parse(incomingMessage);
45
46         // assert
47         assertEquals(FanMovement.VERTICAL, info.fanMovement);
48     }
49
50     @Test
51     public void separateLeftAndRightTest() {
52         // arrange
53         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir_ud=0,f_dir_lr=S,ndfd1=00,ndfd2=00,ndfd3=0S,ndfd4=00,ndfd6=00,ndfdh=00";
54
55         // act
56         ControlInfo info = ControlInfo.parse(incomingMessage);
57
58         // assert
59         assertEquals(FanMovement.HORIZONTAL, info.fanMovement);
60     }
61
62     @Test
63     public void separateStoppedTest() {
64         // arrange
65         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir_ud=0,f_dir_lr=0,ndfd1=00,ndfd2=00,ndfd3=00,ndfd4=00,ndfd6=00,ndfdh=00";
66
67         // act
68         ControlInfo info = ControlInfo.parse(incomingMessage);
69
70         // assert
71         assertEquals(FanMovement.STOPPED, info.fanMovement);
72     }
73
74     @Test
75     public void separateTwoDimensionalTest() {
76         // arrange
77         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir_ud=S,f_dir_lr=S,ndfd1=00,ndfd2=00,ndfd3=SS,ndfd4=00,ndfd6=00,ndfdh=00";
78
79         // act
80         ControlInfo info = ControlInfo.parse(incomingMessage);
81
82         // assert
83         assertEquals(FanMovement.VERTICAL_AND_HORIZONTAL, info.fanMovement);
84     }
85
86     @Test
87     public void combinedUpAndDown() {
88         // arrange
89         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir=1,ndfd1=00,ndfd2=00,ndfd3=S0,ndfd4=00,ndfd6=00,ndfdh=00";
90
91         // act
92         ControlInfo info = ControlInfo.parse(incomingMessage);
93
94         // assert
95         assertEquals(FanMovement.VERTICAL, info.fanMovement);
96     }
97
98     @Test
99     public void combinedLeftAndRightTest() throws IOException {
100         // arrange
101         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir=2,ndfd1=00,ndfd2=00,ndfd3=0S,ndfd4=00,ndfd6=00,ndfdh=00";
102
103         // act
104         ControlInfo info = ControlInfo.parse(incomingMessage);
105
106         // assert
107         assertEquals(FanMovement.HORIZONTAL, info.fanMovement);
108     }
109
110     @Test
111     public void combinedStoppedTest() throws IOException {
112         // arrange
113         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir=0,ndfd1=00,ndfd2=00,ndfd3=00,ndfd4=00,ndfd6=00,ndfdh=00";
114
115         // act
116         ControlInfo info = ControlInfo.parse(incomingMessage);
117
118         // assert
119         assertEquals(FanMovement.STOPPED, info.fanMovement);
120     }
121
122     @Test
123     public void combinedTwoDimensionalTest() throws IOException {
124         // arrange
125         String incomingMessage = "ret=OK,pow=0,mode=3,stemp=21.0,shum=0,adv=13,dt1=21.0,dt2=M,dt3=21.0,dt4=25.0,dh1=0,dh2=0,dh3=0,dh4=0,dhh=0,alert=16,f_rate=3,dfr1=A,dfr2=A,dfr3=3,dfr4=A,dfr6=A,dfrh=0,f_dir=3,ndfd1=00,ndfd2=00,ndfd3=SS,ndfd4=00,ndfd6=00,ndfdh=00";
126
127         // act
128         ControlInfo info = ControlInfo.parse(incomingMessage);
129
130         // assert
131         assertEquals(FanMovement.VERTICAL_AND_HORIZONTAL, info.fanMovement);
132     }
133 }