package org.darkphoenixs.mq.codec;
import org.darkphoenixs.mq.exception.MQException;
import org.junit.Assert;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class MessageEncoderTest {
@Test
public void test() throws Exception {
MessageEncoderImpl encoder = new MessageEncoderImpl();
Assert.assertArrayEquals("abc".getBytes("UTF-8"), encoder.encode("abc"));
Assert.assertArrayEquals("哈哈".getBytes("UTF-8"), encoder.encode("哈哈"));
List<String> list = new ArrayList<String>();
list.add("啦啦");
list.add("哈哈");
Assert.assertArrayEquals("啦啦".getBytes("UTF-8"), encoder.batchEncode(list).get(0));
Assert.assertArrayEquals("哈哈".getBytes("UTF-8"), encoder.batchEncode(list).get(1));
}
private class MessageEncoderImpl implements MessageEncoder<String> {
@Override
public byte[] encode(String message) throws MQException {
try {
return message.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
@Override
public List<byte[]> batchEncode(List<String> message)
throws MQException {
List<byte[]> bytes = new ArrayList<byte[]>();
for (String string : message) {
bytes.add(encode(string));
}
return bytes;
}
}
}