@Test(groups = {"functional.encode", "circuitSwitchedCall"})
  public void testEncode() throws Exception {

    SendingSideIDImpl partyToCharge = new SendingSideIDImpl(LegType.leg2);
    FreeFormatData ffd = new FreeFormatDataImpl(getDataFFD());
    FCIBCCCAMELsequence1Impl fci =
        new FCIBCCCAMELsequence1Impl(ffd, partyToCharge, AppendFreeFormatData.append);
    FurnishChargingInformationRequestImpl elem = new FurnishChargingInformationRequestImpl(fci);
    AsnOutputStream aos = new AsnOutputStream();
    elem.encodeAll(aos);
    assertTrue(Arrays.equals(aos.toByteArray(), this.getData1()));
  }
  @Test(groups = {"functional.decode", "circuitSwitchedCall"})
  public void testDecode() throws Exception {

    byte[] data = this.getData1();
    AsnInputStream ais = new AsnInputStream(data);
    FurnishChargingInformationRequestImpl elem = new FurnishChargingInformationRequestImpl();
    int tag = ais.readTag();
    assertEquals(tag, Tag.STRING_OCTET);
    elem.decodeAll(ais);
    assertTrue(
        Arrays.equals(
            elem.getFCIBCCCAMELsequence1().getFreeFormatData().getData(), this.getDataFFD()));
    assertEquals(
        elem.getFCIBCCCAMELsequence1().getPartyToCharge().getSendingSideID(), LegType.leg2);
    assertEquals(
        elem.getFCIBCCCAMELsequence1().getAppendFreeFormatData(), AppendFreeFormatData.append);
  }