/**
  * Test method for {@link
  * tuwien.auto.calimero.dptxlator.DPTXlator2ByteUnsigned#setValue(java.lang.String)}.
  *
  * @throws KNXFormatException
  */
 public final void testSetValueString() throws KNXFormatException {
   t.setValue(value1);
   Helper.assertSimilar(value1, t.getValue());
   final String s = t.getValue();
   t.setValue(s);
   Helper.assertSimilar(value1, t.getValue());
   assertEquals(s, t.getValue());
 }
 /**
  * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator2ByteUnsigned#getValue()}.
  *
  * @throws KNXFormatException
  */
 public final void testGetValue() throws KNXFormatException {
   Helper.assertSimilar("0", t.getValue());
   t.setValues(new String[0]);
   Helper.assertSimilar("0", t.getValue());
   t.setValue(ints[0]);
   Helper.assertSimilar(strings[0], t.getValue());
   t.setData(dataValue2, 2);
   Helper.assertSimilar(value2, t.getValue());
   t.setData(data);
   Helper.assertSimilar(value1, t.getValue());
 }
  /**
   * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator2ByteUnsigned#getAllValues()}.
   *
   * @throws KNXFormatException
   */
  public final void testGetAllValues() throws KNXFormatException {
    assertEquals(1, t.getItems());
    assertEquals(t.getItems(), t.getItems());
    Helper.assertSimilar("0", t.getAllValues()[0]);

    t.setData(data);
    assertEquals(data.length / 2, t.getItems());
    assertEquals(t.getItems(), t.getItems());
    Helper.assertSimilar(strings, t.getAllValues());

    t.setValue(5000);
    assertEquals(1, t.getItems());
    Helper.assertSimilar("5000", t.getAllValues()[0]);
  }
  /**
   * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator#setValue(java.lang.String)}.
   *
   * @throws KNXFormatException
   */
  public void testSetValueString() throws KNXFormatException {
    t.setValue(value2);
    Helper.assertSimilar(value2, t.getValue());
    String s = t.getValue();
    t.setValue(s);
    Helper.assertSimilar(value2, t.getValue());
    assertEquals(s, t.getValue());

    t.setValue(value1);
    Helper.assertSimilar(value1, t.getValue());
    s = t.getValue();
    t.setValue(s);
    Helper.assertSimilar(value1, t.getValue());
    assertEquals(s, t.getValue());

    final long l = 0x1234567890L;
    t.setValue(l);
    Helper.assertSimilar(Long.toString(l), t.getValue());
    s = t.getValue();
    t.setValue(s);
    Helper.assertSimilar(Long.toString(l), t.getValue());
    assertEquals(s, t.getValue());

    t.setValue(-1);
    Helper.assertSimilar("-1", t.getValue());
    s = t.getValue();
    t.setValue(s);
    Helper.assertSimilar("-1", t.getValue());
    assertEquals(s, t.getValue());
  }
  /**
   * Test method for {@link
   * tuwien.auto.calimero.dptxlator.DPTXlator2ByteUnsigned#setValues(java.lang.String[])}.
   *
   * @throws KNXFormatException
   */
  public final void testSetValues() throws KNXFormatException {
    t.setValues(strings);
    assertEquals(strings.length, t.getItems());
    Helper.assertSimilar(strings, t.getAllValues());

    t.setValues(new String[0]);
    assertEquals(strings.length, t.getItems());
    Helper.assertSimilar(strings, t.getAllValues());

    final String[] s = {value1};
    t.setValues(s);
    assertEquals(s.length, t.getItems());
    Helper.assertSimilar(s, t.getAllValues());

    t.setValues(new String[] {t.getValue(), t.getValue()});
  }
 /**
  * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator4ByteSigned#setValue(int)}.
  *
  * @throws KNXFormatException
  */
 public void testSetValueInt() throws KNXFormatException {
   for (int i = 0; i < longs.length; i++) {
     t.setValue(longs[i]);
     assertEquals(longs[i], t.getValueSigned());
     Helper.assertSimilar(strings[i], t.getValue());
   }
 }
  /** 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());
  }
  /**
   * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator4ByteSigned#getAllValues()}.
   *
   * @throws KNXFormatException
   */
  public void testGetAllValues() throws KNXFormatException {
    assertEquals(1, t.getItems());
    Helper.assertSimilar("0", t.getAllValues()[0]);

    t.setData(data);
    assertEquals(data.length / 8, t.getItems());
    assertEquals(t.getItems(), t.getItems());
    Helper.assertSimilar(strings, t.getAllValues());
    // value = 0xCCCCCCCC
    t.setValue(343597383);
    assertEquals(1, t.getItems());
    Helper.assertSimilar("343597383", t.getAllValues()[0]);

    t.setData(dataValue1);
    assertEquals(1, t.getItems());
    Helper.assertSimilar(value1, t.getAllValues()[0]);
  }
  /**
   * Test method for {@link tuwien.auto.calimero.dptxlator.DPTXlator2ByteUnsigned#setValue(int)}.
   *
   * @throws KNXFormatException
   */
  public final void testSetValueInt() throws KNXFormatException {
    for (int i = 0; i < ints.length; i++) {
      t.setValue(ints[i]);
      assertEquals(ints[i], t.getValueUnsigned());
      Helper.assertSimilar(strings[i], t.getValue());
    }
    // check 10ms and 100ms timeperiods
    DPTXlator2ByteUnsigned tr = new DPTXlator2ByteUnsigned(dpts[3]);
    tr.setValue(655350);
    assertEquals(655350, tr.getValueUnsigned());
    Helper.assertSimilar("655350", tr.getValue());
    // round up
    tr.setValue(337777);
    assertEquals(337780, tr.getValueUnsigned());
    Helper.assertSimilar("337780", tr.getValue());
    // round off
    tr.setValue(332222);
    assertEquals(332220, tr.getValueUnsigned());
    Helper.assertSimilar("332220", tr.getValue());

    tr = new DPTXlator2ByteUnsigned(dpts[4]);
    tr.setValue(6553500);
    assertEquals(6553500, tr.getValueUnsigned());
    Helper.assertSimilar("6553500", tr.getValue());
    // round up
    tr.setValue(3377751);
    assertEquals(3377800, tr.getValueUnsigned());
    Helper.assertSimilar("3377800", tr.getValue());
    // round off
    tr.setValue(3322249);
    assertEquals(3322200, tr.getValueUnsigned());
    Helper.assertSimilar("3322200", tr.getValue());
  }