package org.mobicents.protocols.ss7.map.service.mobility.subscriberInformation; import org.mobicents.protocols.asn.AsnInputStream; import org.mobicents.protocols.asn.AsnOutputStream; import org.mobicents.protocols.asn.Tag; import org.mobicents.protocols.ss7.map.api.service.supplementary.CliRestrictionOption; import org.mobicents.protocols.ss7.map.service.mobility.subscriberManagement.ExtSSStatusImpl; import org.testng.annotations.Test; import java.util.Arrays; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; /** * @author vadim subbotin */ public class ClirDataTest { private byte[] data = {48, 8, -127, 1, 10, -126, 1, 0, -125, 0}; @Test(groups = {"functional.decode", "subscriberInformation"}) public void testDecode() throws Exception { AsnInputStream asn = new AsnInputStream(data); int tag = asn.readTag(); assertEquals(tag, Tag.SEQUENCE); assertEquals(asn.getTagClass(), Tag.CLASS_UNIVERSAL); ClirDataImpl clirData = new ClirDataImpl(); clirData.decodeAll(asn); assertNotNull(clirData.getSsStatus()); assertTrue(clirData.getSsStatus().getBitQ()); assertFalse(clirData.getSsStatus().getBitP()); assertTrue(clirData.getSsStatus().getBitR()); assertFalse(clirData.getSsStatus().getBitA()); assertEquals(clirData.getCliRestrictionOption(), CliRestrictionOption.permanent); assertTrue(clirData.getNotificationToCSE()); } @Test(groups = {"functional.encode", "subscriberInformation"}) public void testEncode() throws Exception { ClirDataImpl clirData = new ClirDataImpl(new ExtSSStatusImpl(true, false, true, false), CliRestrictionOption.permanent, true); AsnOutputStream asnOS = new AsnOutputStream(); clirData.encodeAll(asnOS); byte[] raw = asnOS.toByteArray(); assertTrue(Arrays.equals(raw, data)); } }