コード例 #1
0
  /**
   * 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]);
      }
    }
  }
コード例 #2
0
  /** 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());
  }