@Test
  public void canBeCompressed_bothCommandAreParameterizedCommandButWithDifferentGroups() {
    PclCommandBuilder builder =
        new PclCommandBuilder().p(LOWEST_PARAMETERIZED_BYTE).v("1").t(LOWEST_TERMINATION_BYTE);

    PclCommand command = builder.copy().g(LOWEST_GROUP_BYTE).toCommand();
    PclCommand otherCommand = builder.copy().g(HIGHEST_GROUP_BYTE).toCommand();

    assertFalse(compressor.canBeCompressed(command, otherCommand));
  }
  @Test(expected = IllegalArgumentException.class)
  public void compress_shouldBlowUpIfTheCommandsCanNotBeCompressed() {
    PclCommandBuilder builder =
        new PclCommandBuilder().p(LOWEST_PARAMETERIZED_BYTE).v("1").t(LOWEST_TERMINATION_BYTE);

    PclCommand command = builder.copy().g(LOWEST_GROUP_BYTE).toCommand();
    PclCommand otherCommand = builder.copy().g(HIGHEST_GROUP_BYTE).toCommand();

    compressor.compress(command, otherCommand);
  }
  @Test
  public void canBeCompressed_bothCommandAreParameterizedButFirstCommandHasBinaryData() {
    PclCommandBuilder builder =
        new PclCommandBuilder()
            .p(LOWEST_PARAMETERIZED_BYTE)
            .g(LOWEST_GROUP_BYTE)
            .v("1")
            .t(LOWEST_TERMINATION_BYTE);

    PclCommand command = builder.copy().d("12").toCommand();
    PclCommand otherCommand = builder.toCommand();

    assertFalse(compressor.canBeCompressed(command, otherCommand));
  }