package net.gcdc.asn1.uper; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UperEncoderStringEncodeDecodeTest { private final static Logger logger = LoggerFactory.getLogger(UperEncoderStringEncodeDecodeTest.class); @Test public void Utf8StringTest4() throws IllegalArgumentException, IllegalAccessException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 15; i++) { sb.append("1234567890"); } String string150 = sb.toString(); Object pdu = new Utf8TestClass( new Utf8TestClass.CompanyName(string150) ); byte[] encoded = UperEncoder.encode(pdu); logger.debug("data hex: {}", UperEncoder.hexStringFromBytes(encoded)); assertEquals("8096313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930", UperEncoder.hexStringFromBytes(encoded)); Object decoded = UperEncoder.decode(encoded, Utf8TestClass.class); byte[] reencoded = UperEncoder.encode(decoded); assertArrayEquals("encoded and reencoded", encoded, reencoded); } @Test public void Utf8StringTest5() throws IllegalArgumentException, IllegalAccessException { Object pdu = new Utf8TestClass( new Utf8TestClass.CompanyName("mölndal") ); byte[] encoded = UperEncoder.encode(pdu); logger.debug("data hex: {}", UperEncoder.hexStringFromBytes(encoded)); assertEquals("086DC3B66C6E64616C", UperEncoder.hexStringFromBytes(encoded)); Object decoded = UperEncoder.decode(encoded, Utf8TestClass.class); byte[] reencoded = UperEncoder.encode(decoded); assertArrayEquals("encoded and reencoded", encoded, reencoded); } @Test public void Utf8StringTest6() throws IllegalArgumentException, IllegalAccessException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 15; i++) { sb.append("1234567890"); } String string150 = sb.toString(); Object pdu = new Utf8TestClass( new Utf8TestClass.CompanyName(string150) ); byte[] encoded = UperEncoder.encode(pdu); logger.debug("data hex: {}", UperEncoder.hexStringFromBytes(encoded)); assertEquals("8096313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930", UperEncoder.hexStringFromBytes(encoded)); } }