/** * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator#getData(byte[], int)}. * * @throws KNXFormatException */ public void testGetDataByteArrayInt() throws KNXFormatException { byte[] d = new byte[9]; Arrays.fill(d, (byte) 0xAA); assertEquals(9, t.getData(d, 1).length); try { // usable range too short t.getData(new byte[8], 1); fail("usable range too short"); } catch (final KNXIllegalArgumentException expected) { } final byte[] empty = new byte[9]; assertTrue(Arrays.equals(empty, t.getData(new byte[9], 1))); t.setData(data); d = t.getData(new byte[25], 6); for (int i = 0; i < 6; i++) assertEquals(0, d[i]); for (int i = 6; i < 22; i++) assertEquals(data[i - 6], d[i]); for (int i = 22; i < 25; i++) assertEquals(0, d[i]); for (int i = 0; i < longs.length; i++) { t.setValue(longs[i]); d = t.getData(new byte[8 + i], i); for (int j = 0; j < 4; j++) { assertEquals(data[8 * i + j], d[i + j]); } } }
/** Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator#setData(byte[], int)}. */ public void testSetDataByteArrayInt() { t.setData(dataMin, 0); try { t.setData(new byte[] {}, 0); fail("should throw"); } catch (final KNXIllegalArgumentException e) { } assertTrue(Arrays.equals(dataMin, t.getData())); t.setData(dataMax, 0); assertTrue(Arrays.equals(dataMax, t.getData())); t.setData(dataValue2, 2); byte[] d = t.getData(); assertEquals(8, d.length); for (int i = 0; i < d.length; i++) { assertEquals(d[i], dataValue2[i + 2]); } final byte[] array = new byte[data.length + 6]; System.arraycopy(data, 0, array, 3, data.length); t.setData(array, 3); d = t.getData(); assertEquals(data.length, d.length); assertTrue(Arrays.equals(data, d)); Helper.assertSimilar(strings, t.getAllValues()); }