Files
min-dev-java/src/test/java/component/ReadOnlyFieldTest.java
T
2021-03-25 17:41:13 +08:00

168 lines
8.3 KiB
Java

package component;
import encoding.*;
import org.junit.Test;
import java.util.Arrays;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 15:41 2021/3/25
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class ReadOnlyFieldTest {
@Test
public void TestReadOnlyField_AddBlock() throws EncoderException, ComponentException, BlockException {
ReadOnlyField readOnlyField=new ReadOnlyField();
byte[] buf={(byte) 1, (byte)2,(byte) 3,(byte) 4,(byte) 5,(byte) 6,(byte) 7,(byte) 8};
SignatureValue got=new SignatureValue(buf);
SignatureValue got1=new SignatureValue(buf);
SignatureAlgorithm value=new SignatureAlgorithm(0);
SignatureInfo info=new SignatureInfo(value);
Signature signature=new Signature(info,got);
Signature signature1=new Signature(info,got1);
SignatureContainer container=new SignatureContainer();
container.addElement(signature);
SignatureField field=new SignatureField(container);
field.addSignature(signature1);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
field.wireEncode(encoder);
byte[] buffer=encoder.getBuffer();
System.out.println("encoder buf: "+ Arrays.toString(buffer));
Block block=Block.createBlockByBuffer(buffer,false);
System.out.println("readOnlyField's block: "+block.getType()+", "
+block.getLength()+", "+Arrays.toString(block.getValue()));
readOnlyField.addBlock(block);
Block block1=readOnlyField.getBlock(0);
System.out.println("readOnlyField's block: "+block1.getType()+", "
+block1.getLength()+", "+Arrays.toString(block1.getValue()));
}
@Test
public void TestReadOnlyField_GetBlock() throws BlockException, EncoderException, ComponentException {
ReadOnlyField readOnlyField=new ReadOnlyField();
byte[] buf={(byte) 1, (byte)2,(byte) 3,(byte) 4,(byte) 5,(byte) 6,(byte) 7,(byte) 8};
SignatureValue got=new SignatureValue(buf);
SignatureValue got1=new SignatureValue(buf);
SignatureAlgorithm value=new SignatureAlgorithm(0);
SignatureInfo info=new SignatureInfo(value);
Signature signature=new Signature(info,got);
Signature signature1=new Signature(info,got1);
SignatureContainer container=new SignatureContainer();
container.addElement(signature);
SignatureField field=new SignatureField(container);
field.addSignature(signature1);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
field.wireEncode(encoder);
byte[] buffer=encoder.getBuffer();
System.out.println("encoder buf: "+ Arrays.toString(buffer));
Block block=Block.createBlockByBuffer(buffer,false);
System.out.println("readOnlyField's block: "+block.getType()+", "
+block.getLength()+", "+Arrays.toString(block.getValue()));
readOnlyField.addBlock(block);
readOnlyField.addBlock(block);
Block blockError=readOnlyField.getBlock(2);
System.out.println("readOnlyField's block: "+blockError.getType()+", "
+blockError.getLength()+", "+Arrays.toString(blockError.getValue()));
}
@Test
public void TestReadOnlyField_ClearBlocks() throws BlockException, EncoderException, ComponentException{
ReadOnlyField readOnlyField=new ReadOnlyField();
byte[] buf={(byte) 1, (byte)2,(byte) 3,(byte) 4,(byte) 5,(byte) 6,(byte) 7,(byte) 8};
SignatureValue got=new SignatureValue(buf);
SignatureValue got1=new SignatureValue(buf);
SignatureAlgorithm value=new SignatureAlgorithm(0);
SignatureInfo info=new SignatureInfo(value);
Signature signature=new Signature(info,got);
Signature signature1=new Signature(info,got1);
SignatureContainer container=new SignatureContainer();
container.addElement(signature);
SignatureField field=new SignatureField(container);
field.addSignature(signature1);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
field.wireEncode(encoder);
byte[] buffer=encoder.getBuffer();
System.out.println("encoder buf: "+ Arrays.toString(buffer));
Block block=Block.createBlockByBuffer(buffer,false);
System.out.println("readOnlyField's block: "+block.getType()+", "
+block.getLength()+", "+Arrays.toString(block.getValue()));
readOnlyField.addBlock(block);
readOnlyField.addBlock(block);
readOnlyField.clearBlocks();
System.out.println(readOnlyField.getBlocks().length());
System.out.println(Arrays.toString(readOnlyField.getBlockByType(new VlInt(202)).getValue()));
System.out.println(Arrays.toString(readOnlyField.getBlockByType(new VlInt(51)).getValue()));
}
@Test
public void TestReadOnlyField_WireEncode() throws BlockException, EncoderException, ComponentException{
ReadOnlyField readOnlyField=new ReadOnlyField();
byte[] buf={(byte) 1, (byte)2,(byte) 3,(byte) 4,(byte) 5,(byte) 6,(byte) 7,(byte) 8};
SignatureValue got=new SignatureValue(buf);
SignatureValue got1=new SignatureValue(buf);
SignatureAlgorithm value=new SignatureAlgorithm(0);
SignatureInfo info=new SignatureInfo(value);
Signature signature=new Signature(info,got);
Signature signature1=new Signature(info,got1);
SignatureContainer container=new SignatureContainer();
container.addElement(signature);
SignatureField field=new SignatureField(container);
field.addSignature(signature1);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
field.wireEncode(encoder);
byte[] buffer=encoder.getBuffer();
System.out.println("encoder buf: "+ Arrays.toString(buffer));
Block block=Block.createBlockByBuffer(buffer,false);
System.out.println("readOnlyField's block: "+block.getType()+", "
+block.getLength()+", "+Arrays.toString(block.getValue()));
readOnlyField.addBlock(block);
readOnlyField.addBlock(block);
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
readOnlyField.wireEncode(encoder);
byte[] buffer1=encoder.getBuffer();
System.out.println("readOnlyField buf: "+Arrays.toString(buffer1));
}
@Test
public void TestReadOnlyField_WireDecode()throws BlockException, EncoderException, ComponentException{
ReadOnlyField readOnlyField=new ReadOnlyField();
byte[] buf={(byte) 1, (byte)2,(byte) 3,(byte) 4,(byte) 5,(byte) 6,(byte) 7,(byte) 8};
SignatureValue got=new SignatureValue(buf);
SignatureValue got1=new SignatureValue(buf);
SignatureAlgorithm value=new SignatureAlgorithm(0);
SignatureInfo info=new SignatureInfo(value);
Signature signature=new Signature(info,got);
Signature signature1=new Signature(info,got1);
SignatureContainer container=new SignatureContainer();
container.addElement(signature);
SignatureField field=new SignatureField(container);
field.addSignature(signature1);
Encoder encoder=new Encoder();
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
field.wireEncode(encoder);
byte[] buffer=encoder.getBuffer();
System.out.println("encoder buf: "+ Arrays.toString(buffer));
Block block=Block.createBlockByBuffer(buffer,false);
System.out.println("readOnlyField's block: "+block.getType()+", "
+block.getLength()+", "+Arrays.toString(block.getValue()));
readOnlyField.addBlock(block);
readOnlyField.addBlock(block);
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
readOnlyField.wireEncode(encoder);
byte[] buffer1=encoder.getBuffer();
System.out.println("readOnlyField buf: "+Arrays.toString(buffer1));
Block realBlock=Block.createBlockByBuffer(buffer1,false);
ReadOnlyField readOnlyField1=new ReadOnlyField();
readOnlyField1.wireDecode(realBlock);
System.out.println(readOnlyField.getBlocks().length());
}
}