@Test
public void TestToPOHalfSessionSignature() {

  byte[] apduResponse =
      new byte[] {(byte) 0x4D, (byte) 0xBD, (byte) 0xC9, 0x60, (byte) 0x90, 0x00};
  byte[] apduResponseCaseTwo =
      new byte[] {
        (byte) 0xA8,
        0x31,
        (byte) 0xC3,
        0x3E,
        (byte) 0xA7,
        0x21,
        (byte) 0xC2,
        0x2E,
        (byte) 0x90,
        0x00
      };
  byte[] apduResponseCaseThree = new byte[] {(byte) 0xA8, 0x31, (byte) 0xC3, (byte) 0x90, 0x00};
  byte[] sessionSignature = new byte[] {(byte) 0x4D, (byte) 0xBD, (byte) 0xC9, 0x60};
  byte[] sessionSignatureCaseTwo = new byte[] {(byte) 0xA7, 0x21, (byte) 0xC2, 0x2E};
  { // Case Length = 4
    CloseSessionRespPars pars =
        new CloseSessionRespPars(new ApduResponse(apduResponse, null), null);
    Assert.assertArrayEquals(sessionSignature, pars.getSignatureLo());
  }
  { // Case Length = 8
    CloseSessionRespPars pars =
        new CloseSessionRespPars(new ApduResponse(apduResponseCaseTwo, null), null);
    Assert.assertArrayEquals(sessionSignatureCaseTwo, pars.getSignatureLo());
  }
  { // Case Other
    try {
      CloseSessionRespPars pars =
          new CloseSessionRespPars(new ApduResponse(apduResponseCaseThree, null), null);
      Assert.fail();
    } catch (IllegalArgumentException ex) {
      /* expected case */
    }
  }
}