/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.smarthomatic;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import org.junit.Before;
import org.junit.Test;
import org.openhab.binding.smarthomatic.internal.SHCMessage;
import org.openhab.binding.smarthomatic.internal.packetData.Packet;
import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.types.Type;
/**
* test of the different smarthomatic messages to make sure they are parsed
* correctly
*
* @author jbolay
*
*/
public class TestSHCMessage {
private Packet packet;
/**
* common setup
*
* @throws Exception
*/
@Before
public void setUp() throws Exception {
File file = new File("src/main/resources/packet_layout.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Packet.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
packet = (Packet) jaxbUnmarshaller.unmarshal(file);
}
/**
* test data for the generic messages version: 0.0.0-0
*/
@Test
public void testGenericVersionMin() {
String message = " PKT:SID=10;PC=165;MT=8;MGID=0;MID=1;MD=000000000000;3cf599b2";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Major", 0, ((DecimalType) values.get(0)).intValue());
assertEquals("Minor", 0, ((DecimalType) values.get(1)).intValue());
assertEquals("Patch", 0, ((DecimalType) values.get(2)).intValue());
assertEquals("Hash", 0, ((DecimalType) values.get(3)).intValue());
}
/**
* test data for the generic messages version: 255.255.255-255 TODO: Hash
* parsing isn't working with the max hash value of 4294967295
*/
@Test
public void testGenericVersionMax() {
String message = " PKT:SID=10;PC=165;MT=8;MGID=0;MID=1;MD=FFFFFF000000FF;5f552ffb";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Major", 255, ((DecimalType) values.get(0)).intValue());
assertEquals("Minor", 255, ((DecimalType) values.get(1)).intValue());
assertEquals("Patch", 255, ((DecimalType) values.get(2)).intValue());
assertEquals("Hash", 255, ((DecimalType) values.get(3)).intValue());
}
/**
* test data for the generic messages version: 0.255.0-255 TODO: Hash
* parsing isn't working with the max hast value of 4294967295
*/
@Test
public void testGenericVersionMinMax1() {
String message = " PKT:SID=10;PC=165;MT=8;MGID=0;MID=1;MD=00FF00000000FF;849eb439";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Major", 0, ((DecimalType) values.get(0)).intValue());
assertEquals("Minor", 255, ((DecimalType) values.get(1)).intValue());
assertEquals("Patch", 0, ((DecimalType) values.get(2)).intValue());
assertEquals("Hash", 255, ((DecimalType) values.get(3)).intValue());
}
/**
* test data for the generic messages version: 255.0.255-0
*/
@Test
public void testGenericVersionMinMax2() {
String message = " PKT:SID=10;PC=165;MT=8;MGID=0;MID=1;MD=FF00FF00000000;a72a6224";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Major", 255, ((DecimalType) values.get(0)).intValue());
assertEquals("Minor", 0, ((DecimalType) values.get(1)).intValue());
assertEquals("Patch", 255, ((DecimalType) values.get(2)).intValue());
assertEquals("Hash", 0, ((DecimalType) values.get(3)).intValue());
}
/**
* test data for the generic messages battery: 66 %
*/
@Test
public void testGenericBattTyp() {
String message = " PKT:SID=10;PC=164;MT=8;MGID=0;MID=5;MD=840000000004;9f44b737";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(66, ((DecimalType) values.get(0)).intValue());
}
/**
* test data for the generic messages battery: 0 %
*/
@Test
public void testGenericBattMin() {
String message = " PKT:SID=10;PC=164;MT=8;MGID=0;MID=5;MD=000000000004;c6415f25";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
}
/**
* test data for the generic messages battery: 127
*/
@Test
public void testGenericBattMax() {
String message = " PKT:SID=10;PC=164;MT=8;MGID=0;MID=5;MD=FE0000000004;60b90a98";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(127, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: GPIO DigitalPort: 00000000b
*/
@Test
public void testGPIODigitalPortAllZero() {
String message = " PKT:SID=150;PC=1688;MT=8;MGID=1;MID=1;MD=000000000004;14f131ec";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(8, values.size());
for (Type type : values) {
assertEquals(OnOffType.OFF, type);
}
}
/**
* test data is: GPIO DigitalPort: 11111111b
*/
@Test
public void testGPIODigitalPortAllOn() {
String message = " PKT:SID=150;PC=1688;MT=8;MGID=1;MID=1;MD=ff0000000004;6ed826ac";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(8, values.size());
for (Type type : values) {
assertEquals(OnOffType.ON, type);
}
}
/**
* test data is: GPIO DigitalPort: 10100101b
*/
@Test
public void testGPIODigitalPortAllMixed() {
String message = " PKT:SID=150;PC=1688;MT=8;MGID=1;MID=1;MD=a50000000004;584ea808";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(8, values.size());
assertEquals(OnOffType.ON, values.get(0));
assertEquals(OnOffType.OFF, values.get(1));
assertEquals(OnOffType.ON, values.get(2));
assertEquals(OnOffType.OFF, values.get(3));
assertEquals(OnOffType.OFF, values.get(4));
assertEquals(OnOffType.ON, values.get(5));
assertEquals(OnOffType.OFF, values.get(6));
assertEquals(OnOffType.ON, values.get(7));
}
/**
* test data is: GPIO AnalogPort:
* 00000000000000000000000000000000000000000000
*/
@Test
public void testGPIOAnalogPortAllZero() {
String message = " PKT:SID=11;PC=2238;MT=8;MGID=1;MID=10;MD=00000000000000000000000000000000000000000000;055a1dca";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(16, values.size());
for (int i = 0; i < values.size(); i += 2) {
assertEquals(OnOffType.OFF, values.get(i));
assertEquals(0, ((DecimalType) values.get(i + 1)).intValue());
}
}
/**
* test data is: GPIO AnalogPort:
* FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
*/
@Test
public void testGPIOAnalogPortAllMax() {
String message = " PKT:SID=11;PC=2238;MT=8;MGID=1;MID=10;MD=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;bceeea75";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(16, values.size());
for (int i = 0; i < values.size(); i += 2) {
assertEquals(OnOffType.ON, values.get(i));
assertEquals(2047, ((DecimalType) values.get(i + 1)).intValue());
}
}
/**
* test data is: GPIO AnalogPort:
* c4c000c4c0008000010FF2FF00000000000000000000
*/
@Test
public void testGPIOAnalogPortAllMixed() {
String message = " PKT:SID=11;PC=2238;MT=8;MGID=1;MID=10;MD=c4c000c4c0008000010FF2FF00000000000000000000;d4e9f531";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(16, values.size());
assertEquals("Port0", OnOffType.ON, values.get(0));
assertEquals("Port0", 1100, ((DecimalType) values.get(1)).intValue());
assertEquals("Port1", OnOffType.OFF, values.get(2));
assertEquals("Port1", 0, ((DecimalType) values.get(3)).intValue());
assertEquals("Port2", OnOffType.ON, values.get(4));
assertEquals("Port2", 1100, ((DecimalType) values.get(5)).intValue());
assertEquals("Port3", OnOffType.OFF, values.get(6));
assertEquals("Port3", 0, ((DecimalType) values.get(7)).intValue());
assertEquals("Port4", OnOffType.ON, values.get(8));
assertEquals("Port4", 0, ((DecimalType) values.get(9)).intValue());
assertEquals("Port5", OnOffType.OFF, values.get(10));
assertEquals("Port5", 1, ((DecimalType) values.get(11)).intValue());
assertEquals("Port6", OnOffType.OFF, values.get(12));
assertEquals("Port6", 255, ((DecimalType) values.get(13)).intValue());
assertEquals("Port7", OnOffType.OFF, values.get(14));
assertEquals("Port7", 767, ((DecimalType) values.get(15)).intValue());
}
/**
* test data is: weather temperature: 22.10
*/
@Test
public void testWeatherTempTyp() {
String message = " PKT:SID=11;PC=68026;MT=8;MGID=10;MID=1;MD=08a200000000;3bd82894";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(2210, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: weather temperature: -32768 = 0x8000 (min)
*/
@Test
public void testWeatherTempMin() {
String message = " PKT:SID=11;PC=68026;MT=8;MGID=10;MID=1;MD=800000000000;da125fde";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(-32768, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: weather temperature: 32767 = 0x7FFF (max)
*/
@Test
public void testWeatherTempMax() {
String message = " PKT:SID=11;PC=68026;MT=8;MGID=10;MID=1;MD=7FFF00000000;dbd5c390";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(32767, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: weather temperature & humidity: hum: 53.4 temperatur: 22.40
*/
@Test
public void testWeatherTempHumTyp() {
String message = " PKT:SID=10;PC=17531;MT=8;MGID=10;MID=2;MD=858230000000;33985fff";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(534, ((DecimalType) values.get(0)).intValue());
assertEquals(2240, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: weather temperature & humidity: 102.3 (0x3FF) temperatur:
* -327.68 (0x8000)
*/
@Test
public void testWeatherTempHumMinMax1() {
String message = " PKT:SID=10;PC=17531;MT=8;MGID=10;MID=2;MD=FFE000000000;28908fc3";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(1023, ((DecimalType) values.get(0)).intValue());
assertEquals(-32768, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: weather temperature & humidity: 0 (0x000) temperatur: 32767
* (0x7FFF)
*/
@Test
public void testWeatherTempHumMinMax2() {
String message = " PKT:SID=10;PC=17531;MT=8;MGID=10;MID=2;MD=001FFFC00000;785c34de";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
assertEquals(32767, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: weather barometric pressure: 96461 temp: -1
*/
@Test
public void testWeatherBaroTempTyp() {
String message = " PKT:SID=11;PC=68029;MT=8;MGID=10;MID=3;MD=bc75ffff8000;b8d3498b";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(96491, ((DecimalType) values.get(0)).intValue());
assertEquals(-1, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: weather barometric pressure: 0 temp: -32768
*/
@Test
public void testWeatherBaroTempMin() {
String message = " PKT:SID=11;PC=68029;MT=8;MGID=10;MID=3;MD=000040000000;30bd729d";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
assertEquals(-32768, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: weather barometric pressure: 131071 temp: 32767
*/
@Test
public void testWeatherBaroTempMax() {
String message = " PKT:SID=11;PC=68029;MT=8;MGID=10;MID=3;MD=FFFFBFFFFFFF;a6819187";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(131071, ((DecimalType) values.get(0)).intValue());
assertEquals(32767, ((DecimalType) values.get(1)).intValue());
}
/**
* test data is: environment brightness: 37 % (typ)
*/
@Test
public void testEnvBrightnessTyp() {
String message = " PKT:SID=10;PC=123;MT=8;MGID=11;MID=1;MD=4a0000000006;d6a695c8";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(37, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: environment brightness: 0 % (min)
*/
@Test
public void testEnvBrightnessMin() {
String message = " PKT:SID=10;PC=123;MT=8;MGID=11;MID=1;MD=000000000006;b1c1e93d";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: environment brightness: 100 % (max)
*/
@Test
public void testEnvBrightnessMax() {
String message = " PKT:SID=10;PC=123;MT=8;MGID=11;MID=1;MD=FE0000000006;1739bc80";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(127, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: environment distance: 117 cm (typ)
*/
@Test
public void testEnvDistanceTyp() {
String message = " PKT:SID=11;PC=68047;MT=8;MGID=11;MID=2;MD=01d400000000;aabb6194";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(117, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: enviroment distance: 0 cm (min)
*/
@Test
public void testEnvDistanceMin() {
String message = " PKT:SID=11;PC=68047;MT=8;MGID=11;MID=2;MD=000000000000;f0922327";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: enviroment distance: 16383 cm (max)
*/
@Test
public void testEnvDistanceMax() {
String message = " PKT:SID=11;PC=68047;MT=8;MGID=11;MID=2;MD=FFFC00000000;2a1d0241";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(16383, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Brightness: 13 (typ)
*/
@Test
public void testDimmerBrightnessTyp() {
String message = " PKT:SID=13;PC=301;MT=8;MGID=60;MID=1;MD=1A0000000004;57608c20";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(13, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Brightness: 0 (min)
*/
@Test
public void testDimmerBrightnessMin() {
String message = " PKT:SID=13;PC=301;MT=8;MGID=60;MID=1;MD=000000000004;3519983e";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Brightness: 100 (max)
*/
@Test
public void testDimmerBrightnessMax() {
String message = " PKT:SID=13;PC=301;MT=8;MGID=60;MID=1;MD=C80000000004;342bfe8a";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(100, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Animation: 13 (typ)
*/
@Test
public void testDimmerAnimationTyp() {
String message = " PKT:SID=13;PC=534;MT=10;MGID=60;MID=2;MD=40f4006000000000000000000000000000;5817ba52";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("AnimationMode", 1, ((DecimalType) values.get(0)).intValue());
assertEquals("TimeoutSec", 976, ((DecimalType) values.get(1)).intValue());
assertEquals("StartBrightness", 0, ((DecimalType) values.get(2)).intValue());
assertEquals("EndBrightness", 96, ((DecimalType) values.get(3)).intValue());
}
/**
* test data is: Dimmer Animation: 0 (min)
*/
@Test
public void testDimmerAnimationMin() {
String message = " PKT:SID=13;PC=534;MT=10;MGID=60;MID=2;MD=0000000000000000000000000000000000;8e4c4091";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("AnimationMode", 0, ((DecimalType) values.get(0)).intValue());
assertEquals("TimeoutSec", 0, ((DecimalType) values.get(1)).intValue());
assertEquals("StartBrightness", 0, ((DecimalType) values.get(2)).intValue());
assertEquals("EndBrightness", 0, ((DecimalType) values.get(3)).intValue());
}
/**
* test data is: Dimmer Animation: 100 (max)
*/
@Test
public void testDimmerAnimationMax() {
String message = " PKT:SID=13;PC=534;MT=10;MGID=60;MID=2;MD=7ffff20000000000000000000000000000;c5c81435";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("AnimationMode", 1, ((DecimalType) values.get(0)).intValue());
assertEquals("TimeoutSec", 65535, ((DecimalType) values.get(1)).intValue());
assertEquals("StartBrightness", 100, ((DecimalType) values.get(2)).intValue());
assertEquals("EndBrightness", 0, ((DecimalType) values.get(3)).intValue());
}
/**
* test data is: Dimmer Color: 13 (typ)
*/
@Test
public void testDimmerColorTyp() {
String message = " PKT:SID=12;PC=203;MT=8;MGID=60;MID=10;MD=340000000003;3b0b8922";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(13, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Color: 0 (min)
*/
@Test
public void testDimmerColorMin() {
String message = " PKT:SID=12;PC=203;MT=8;MGID=60;MID=10;MD=000000000003;85c7de93";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(0, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Color: 63 (max)
*/
@Test
public void testDimmerColorMax() {
String message = " PKT:SID=12;PC=203;MT=8;MGID=60;MID=10;MD=FC0000000003;cc022ece";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals(63, ((DecimalType) values.get(0)).intValue());
}
/**
* test data is: Dimmer Color Animation: (typ)
*/
@Test
public void testDimmerColorAnimationTyp() {
String message = "PKT:SID=12;PC=9417;MT=10;MGID=60;MID=11;MD=1230418000000000000000000000000000;68ddbb91";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Repeat", 1, ((DecimalType) values.get(0)).intValue());
assertEquals("AutoReverse", OnOffType.OFF, (values.get(1)));
assertEquals("Time0", 8, ((DecimalType) values.get(2)).intValue());
assertEquals("Color0", 48, ((DecimalType) values.get(3)).intValue());
assertEquals("Time1", 8, ((DecimalType) values.get(4)).intValue());
assertEquals("Color1", 12, ((DecimalType) values.get(5)).intValue());
}
/**
* test data is: Dimmer Color Animation: (min)
*/
@Test
public void testDimmerColorAnimationMin() {
String message = "PKT:SID=12;PC=9417;MT=10;MGID=60;MID=11;MD=0000000000000000000000000000000000;1c733ace";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Repeat", 0, ((DecimalType) values.get(0)).intValue());
assertEquals("AutoReverse", OnOffType.OFF, (values.get(1)));
assertEquals("Time0", 0, ((DecimalType) values.get(2)).intValue());
assertEquals("Color0", 0, ((DecimalType) values.get(3)).intValue());
assertEquals("Time1", 0, ((DecimalType) values.get(4)).intValue());
assertEquals("Color1", 0, ((DecimalType) values.get(5)).intValue());
}
/**
* test data is: Dimmer Color Animation: (max)
*/
@Test
public void testDimmerColorAnimationMax() {
String message = "PKT:SID=12;PC=9417;MT=10;MGID=60;MID=11;MD=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00;369ec114";
SHCMessage shcMessage = new SHCMessage(message, packet);
List<Type> values = shcMessage.getData().getOpenHABTypes();
assertEquals("Repeat", 15, ((DecimalType) values.get(0)).intValue());
assertEquals("AutoReverse", OnOffType.ON, (values.get(1)));
assertEquals("Time0", 31, ((DecimalType) values.get(2)).intValue());
assertEquals("Color0", 63, ((DecimalType) values.get(3)).intValue());
assertEquals("Time1", 31, ((DecimalType) values.get(4)).intValue());
assertEquals("Color1", 63, ((DecimalType) values.get(5)).intValue());
}
}