@Test(groups = {"functional.decode", "dialog"}) public void testDecode() throws Exception { // The raw data is from last packet of long ussd-abort from msc2.txt byte[] data = this.getData(); AsnInputStream asnIs = new AsnInputStream(data); int tag = asnIs.readTag(); assertEquals(tag, 3); MAPRefuseInfoImpl mapRefuseInfoImpl = new MAPRefuseInfoImpl(); mapRefuseInfoImpl.decodeAll(asnIs); Reason reason = mapRefuseInfoImpl.getReason(); assertNotNull(reason); assertEquals(reason, Reason.noReasonGiven); data = this.getDataFull(); asnIs = new AsnInputStream(data); tag = asnIs.readTag(); assertEquals(tag, 3); mapRefuseInfoImpl = new MAPRefuseInfoImpl(); mapRefuseInfoImpl.decodeAll(asnIs); reason = mapRefuseInfoImpl.getReason(); assertNotNull(reason); assertEquals(reason, Reason.invalidOriginatingReference); assertTrue( MAPExtensionContainerTest.CheckTestExtensionContainer( mapRefuseInfoImpl.getExtensionContainer())); assertNotNull(mapRefuseInfoImpl.getAlternativeAcn()); assertTrue( Arrays.equals( new long[] {1, 2, 3, 4, 5, 6}, mapRefuseInfoImpl.getAlternativeAcn().getOid())); }
@Test(groups = {"functional.encode", "dialog"}) public void testEncode() throws Exception { MAPRefuseInfoImpl mapRefuseInfoImpl = new MAPRefuseInfoImpl(); mapRefuseInfoImpl.setReason(Reason.noReasonGiven); AsnOutputStream asnOS = new AsnOutputStream(); mapRefuseInfoImpl.encodeAll(asnOS); byte[] data = asnOS.toByteArray(); assertTrue(Arrays.equals(this.getData(), data)); mapRefuseInfoImpl = new MAPRefuseInfoImpl(); mapRefuseInfoImpl.setReason(Reason.invalidOriginatingReference); ApplicationContextName acn = new ApplicationContextNameImpl(); acn.setOid(new long[] {1, 2, 3, 4, 5, 6}); mapRefuseInfoImpl.setAlternativeAcn(acn); mapRefuseInfoImpl.setExtensionContainer(MAPExtensionContainerTest.GetTestExtensionContainer()); asnOS = new AsnOutputStream(); mapRefuseInfoImpl.encodeAll(asnOS); data = asnOS.toByteArray(); assertTrue(Arrays.equals(this.getDataFull(), data)); }