package org.marketcetera.util.unicode; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.junit.Ignore; import static org.junit.Assert.*; import static org.marketcetera.util.test.UnicodeData.*; /** * @author tlerios@marketcetera.com * @since 0.6.0 * @version $Id: DecoderTestBase.java 16154 2012-07-14 16:34:05Z colin $ */ /* $License$ */ @Ignore public abstract class DecoderTestBase extends IOTestBase { protected abstract String decode (byte[] bytes) throws Exception; private void testDecode (byte[] bytes, String string) throws Exception { assertEquals(string,decode(bytes)); } protected abstract String decode (SignatureCharset sc, byte[] bytes) throws Exception; private void testDecode (SignatureCharset sc, byte[] bytes, String string) throws Exception { assertEquals(string,decode(sc,bytes)); } protected abstract String decode (DecodingStrategy strategy, SignatureCharset sc, byte[] bytes) throws Exception; private void testDecode (DecodingStrategy strategy, SignatureCharset sc, byte[] bytes, String string) throws Exception { assertEquals(string,decode(strategy,sc,bytes)); } @Override protected void testNative() throws Exception { testDecode(HELLO_EN_NAT,HELLO_EN); testDecode(null,HELLO_EN_NAT,HELLO_EN); testDecode(null,null,HELLO_EN_NAT,HELLO_EN); testDecode(ArrayUtils.EMPTY_BYTE_ARRAY,StringUtils.EMPTY); testDecode(null,ArrayUtils.EMPTY_BYTE_ARRAY,StringUtils.EMPTY); testDecode(null,null,ArrayUtils.EMPTY_BYTE_ARRAY,StringUtils.EMPTY); } @Override protected void testSignatureCharset (SignatureCharset sc, byte[] bytes) throws Exception { testDecode(sc,bytes,COMBO); testDecode(sc,ArrayUtils.EMPTY_BYTE_ARRAY,StringUtils.EMPTY); } @Override protected void testStrategy (DecodingStrategy strategy, SignatureCharset sc, String string, byte[] bytes) throws Exception { testDecode (strategy,sc,bytes,string); testDecode (strategy,sc,ArrayUtils.EMPTY_BYTE_ARRAY,StringUtils.EMPTY); testDecode (strategy,SignatureCharset.UTF8_UTF8, ArrayUtils.addAll(Signature.UTF8.getMark(),COMBO_UTF8), COMBO); testDecode (strategy,SignatureCharset.UTF16BE_UTF16BE, ArrayUtils.addAll(Signature.UTF16BE.getMark(),COMBO_UTF16BE), COMBO); testDecode (strategy,SignatureCharset.UTF16LE_UTF16LE, ArrayUtils.addAll(Signature.UTF16LE.getMark(),COMBO_UTF16LE), COMBO); testDecode (strategy,SignatureCharset.UTF32BE_UTF32BE, ArrayUtils.addAll(Signature.UTF32BE.getMark(),COMBO_UTF32BE), COMBO); testDecode (strategy,SignatureCharset.UTF32LE_UTF32LE, ArrayUtils.addAll(Signature.UTF32LE.getMark(),COMBO_UTF32LE), COMBO); } }