bunti/src/test/java/de/ctdo/bunti/model/BuntiDMXDeviceTest.java

151 lines
4.5 KiB
Java
Raw Normal View History

package de.ctdo.bunti.model;
import de.ctdo.bunti.dmx.DMX;
import de.ctdo.bunti.dmx.DMXChannel;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
public class BuntiDMXDeviceTest {
private static final int STARTADDRESS = 42;
private static final int DEVICEID = 23;
BuntiDMXDevice dut;
@Before
public void setUp() throws Exception {
dut = new Par56Spot(DEVICEID,STARTADDRESS,"device");
}
@Test
public void testGetLastSendOut() throws Exception {
assertEquals(0, dut.getLastSendOut());
dut.setSendOutNow();
long value = dut.getLastSendOut();
assertTrue(value > 0 && value <= System.currentTimeMillis());
}
@Test
public void testSetSendOutNow() throws Exception {
dut.setSendOutNow();
long value = dut.getLastSendOut();
assertTrue(value > 0 && value <= System.currentTimeMillis());
}
@Test
public void testGetStartAddress() throws Exception {
assertEquals(42, dut.getStartAddress());
}
@Test
public void testSetStartAddress() throws Exception {
dut.setStartAddress(333);
assertEquals(333, dut.getStartAddress());
}
@Test
public void testSetValuesFromOptions() throws Exception {
Map<String, Object> options = new HashMap<String, Object>();
options.put("red", 123);
assertTrue(dut.setValuesFromOptions(options));
}
2012-03-06 16:11:21 +00:00
@Test
public void testSetValuesFromOptionsWrong() throws Exception {
Map<String, Object> options = new HashMap<String, Object>();
options.put("reddddwrong", 123);
2012-03-06 16:56:02 +00:00
assertFalse(dut.setValuesFromOptions(options));
2012-03-06 16:11:21 +00:00
}
@Test
public void testSetValuesFromOptionsWrong2() throws Exception {
Map<String, Object> options = new HashMap<String, Object>();
options.put("red", null);
assertFalse(dut.setValuesFromOptions(options));
}
@Test
public void testSetChannelValueWrong() throws Exception {
assertFalse(dut.setChannelValueByName("nonexistend", 42));
}
@Test
public void testSetChannelValue() throws Exception {
assertTrue(dut.setChannelValueByName("red", 42));
}
@Test
public void testGetChannelValueOkay() throws Exception {
assertEquals(dut.getChannelValueByName("red"), 0);
}
@Test
public void testGetChannelValueWrong() throws Exception {
assertEquals(dut.getChannelValueByName("nonexistent"),0 );
}
@Test
public void testGetChannelValueWrong2() throws Exception {
assertEquals(dut.getChannelValueByName(null), 0);
}
2012-03-06 16:29:57 +00:00
private Map<String, Object> createOptions() {
Map<String, Object> options = new HashMap<String, Object>();
options.put("blue", 99);
options.put("red", 66);
options.put("green", 77);
options.put("speed", 111);
options.put("mode", 222);
2012-03-06 16:29:57 +00:00
return options;
}
2012-03-06 16:29:57 +00:00
@Test
public void testGetChannelDataCount() throws Exception {
dut.setValuesFromOptions(createOptions());
Map<Integer,Integer> channelData = dut.getChannelData();
assertEquals(channelData.size(), 5);
2012-03-06 16:29:57 +00:00
}
@Test
public void testGetChannelDataOrder() throws Exception {
dut.setValuesFromOptions(createOptions());
Map<Integer,Integer> channelData = dut.getChannelData();
assertEquals(new Integer(222), channelData.get(STARTADDRESS + 0 + DMX.DMX_STARTADDRESS_OFFSET));
assertEquals(new Integer(66), channelData.get(STARTADDRESS + 1 + DMX.DMX_STARTADDRESS_OFFSET));
assertEquals(new Integer(77), channelData.get(STARTADDRESS + 2 + DMX.DMX_STARTADDRESS_OFFSET));
assertEquals(new Integer(99), channelData.get(STARTADDRESS + 3 + DMX.DMX_STARTADDRESS_OFFSET));
assertEquals(new Integer(111), channelData.get(STARTADDRESS + 4 + DMX.DMX_STARTADDRESS_OFFSET));
}
@Test
public void testAddChannel() throws Exception {
dut.addChannel(new DMXChannel(5, "channel"));
Map<Integer,Integer> channelData = dut.getChannelData();
assertEquals(6, channelData.size());
}
2012-03-06 16:11:21 +00:00
2012-03-06 16:29:57 +00:00
@Test
public void testGetLastChanged() throws Exception {
assert(dut.getLastChanged() > 0);
}
@Test
public void testSetDeviceName() throws Exception {
2012-03-06 16:29:57 +00:00
dut.setDeviceName("rapunzel");
assertEquals("rapunzel", dut.getDeviceName());
}
@Test
public void testGetDeviceId() throws Exception {
assertEquals(DEVICEID, dut.getDeviceId());
}
}