/** * Test method for {@link * at.ac.tuwien.auto.calimero.dptxlator.DPTXlatorString#setValue(java.lang.String)}. * * @throws KNXFormatException */ public final void testSetValue() throws KNXFormatException { t.setValue(string1); assertEquals(string1, t.getValue()); final String s = t.getValue(); t.setValue(s); assertEquals(string1, t.getValue()); assertEquals(s, t.getValue()); t.setValue(empty); assertEquals(empty, t.getValue()); assertTrue(Arrays.equals(dataEmpty, t.getData())); t.setValue(max); assertEquals(max, t.getValue()); try { t.setValue("tooooooooo long"); } catch (final KNXFormatException e) { } assertEquals(max, t.getValue()); final DPTXlatorString t2 = new DPTXlatorString(DPTXlatorString.DPT_STRING_ASCII); t2.setValue(nonASCII); assertEquals("ab?cd?ef", t2.getValue()); final byte[] nonAsciiData = t2.getData(); final byte[] expected = { (byte) 'a', (byte) 'b', (byte) '?', (byte) 'c', (byte) 'd', (byte) '?', (byte) 'e', (byte) 'f', 0, 0, 0, 0, 0, 0 }; assertTrue(Arrays.equals(expected, nonAsciiData)); t.setValue(nonASCII); assertEquals(nonASCII, t.getValue()); t.setValue(nonLatin); assertEquals("ab?cd?", t.getValue()); t2.setValue(nonLatin); assertEquals("ab?cd?", t.getValue()); }
/** * Test method for {@link at.ac.tuwien.auto.calimero.dptxlator.DPTXlatorString#getAllValues()}. * * @throws KNXFormatException */ public final void testGetAllValues() throws KNXFormatException { assertEquals(1, t.getItems()); assertEquals(t.getItems(), t.getItems()); assertEquals(empty, t.getAllValues()[0]); t.setData(data); assertArrayEquals(strings, t.getAllValues()); assertEquals(t.getItems(), t.getItems()); t.setValue(string1); assertEquals(1, t.getItems()); assertEquals(string1, t.getAllValues()[0]); }
/** * Test method for {@link at.ac.tuwien.auto.calimero.dptxlator.DPTXlatorString#getData(byte[], * int)}. * * @throws KNXFormatException */ public final void testGetDataByteArrayInt() throws KNXFormatException { assertEquals(25, t.getData(new byte[25], 4).length); final byte[] buf = new byte[20]; assertTrue(Arrays.equals(buf, t.getData(new byte[20], 3))); t.setData(data); byte[] d = new byte[45]; Arrays.fill(d, (byte) 0xCC); t.getData(d, 2); for (int i = 0; i < 2; i++) assertEquals((byte) 0xCC, d[i]); for (int i = 2; i < 44; i++) assertEquals(data[i - 2], d[i]); for (int i = 44; i < 45; i++) assertEquals((byte) 0xCC, d[i]); for (int i = 0; i < strings.length; i++) { t.setValue(strings[i]); d = t.getData(new byte[14 + i], i); for (int k = 0; k < 14; ++k) assertEquals(data[14 * i + k], d[i + k]); } }