/**
* Start time:17:14:12 2009-04-24<br>
* Project: mobicents-isup-stack<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski
* </a>
*
*/
package org.mobicents.ss7.isup.impl.message.parameter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.mobicents.ss7.isup.ISUPComponent;
import org.mobicents.ss7.isup.ParameterRangeInvalidException;
import org.mobicents.ss7.isup.impl.message.parameter.MCIDResponseIndicatorsImpl;
import org.mobicents.ss7.isup.impl.message.parameter.MLPPPrecedenceImpl;
/**
* Start time:17:14:12 2009-04-24<br>
* Project: mobicents-isup-stack<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski
* </a>
*/
public class MLPPPrecedenceTest extends ParameterHarness {
public MLPPPrecedenceTest() {
super();
super.goodBodies.add(new byte[6]);
super.badBodies.add(new byte[5]);
super.badBodies.add(new byte[7]);
}
public void testBody1EncodedValues() throws IOException, ParameterRangeInvalidException {
//FIXME: This one fails....
int serDomain = 15;
MLPPPrecedenceImpl eci = new MLPPPrecedenceImpl(getBody(MLPPPrecedenceImpl._LFB_INDICATOR_ALLOWED,MLPPPrecedenceImpl._PLI_PRIORITY,new byte[]{3,4}, serDomain));
String[] methodNames = { "getLfb", "getPrecedenceLevel","getMllpServiceDomain" };
Object[] expectedValues = { (byte)MLPPPrecedenceImpl._LFB_INDICATOR_ALLOWED,(byte)MLPPPrecedenceImpl._PLI_PRIORITY, serDomain };
super.testValues(eci, methodNames, expectedValues);
}
private byte[] getBody(int lfbIndicatorAllowed, int precedenceLevel, byte[] bs, int mllpServiceDomain) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte b = (byte) ((lfbIndicatorAllowed & 0x03) << 5);
b |= precedenceLevel & 0x0F;
bos.write(b);
bos.write(bs);
bos.write(mllpServiceDomain >> 16);
bos.write(mllpServiceDomain >> 8);
bos.write( mllpServiceDomain);
byte[] bb =bos.toByteArray();
return bb;
}
/* (non-Javadoc)
* @see org.mobicents.isup.messages.parameters.ParameterHarness#getTestedComponent()
*/
@Override
public ISUPComponent getTestedComponent() throws ParameterRangeInvalidException {
MLPPPrecedenceImpl component = new MLPPPrecedenceImpl(new byte[6]);
return component;
}
}