package org.marketcetera.util.unicode; import org.apache.commons.lang.ArrayUtils; import org.junit.Test; import org.marketcetera.util.test.TestCaseBase; import static org.junit.Assert.*; import static org.marketcetera.util.test.UnicodeData.*; import static org.marketcetera.util.unicode.SignatureCharset.*; /** * @author tlerios@marketcetera.com * @since 0.6.0 * @version $Id: SignatureCharsetTest.java 16154 2012-07-14 16:34:05Z colin $ */ /* $License$ */ public class SignatureCharsetTest extends TestCaseBase { private static void single (SignatureCharset sc, Signature signature, UnicodeCharset charset, byte[] data) throws Exception { assertTrue(sc.isSupported()); sc.assertSupported(); assertEquals(signature,sc.getSignature()); assertEquals(charset,sc.getCharset()); assertNull(sc.decode(null)); assertNull(sc.encode(null)); assertEquals(COMBO,sc.decode(data)); assertArrayEquals(data,sc.encode(COMBO)); } @Test public void all() throws Exception { single(NONE_UTF8,Signature.NONE, UnicodeCharset.UTF8,COMBO_UTF8); single(NONE_UTF16BE,Signature.NONE, UnicodeCharset.UTF16BE,COMBO_UTF16BE); single(NONE_UTF16LE,Signature.NONE, UnicodeCharset.UTF16LE,COMBO_UTF16LE); single(NONE_UTF32BE,Signature.NONE, UnicodeCharset.UTF32BE,COMBO_UTF32BE); single(NONE_UTF32LE,Signature.NONE, UnicodeCharset.UTF32LE,COMBO_UTF32LE); single(UTF8_UTF8,Signature.UTF8, UnicodeCharset.UTF8,ArrayUtils.addAll (Signature.UTF8.getMark(),COMBO_UTF8)); single(UTF16BE_UTF16BE,Signature.UTF16BE, UnicodeCharset.UTF16BE,ArrayUtils.addAll (Signature.UTF16BE.getMark(),COMBO_UTF16BE)); single(UTF16LE_UTF16LE,Signature.UTF16LE, UnicodeCharset.UTF16LE,ArrayUtils.addAll (Signature.UTF16LE.getMark(),COMBO_UTF16LE)); single(UTF32BE_UTF32BE,Signature.UTF32BE, UnicodeCharset.UTF32BE,ArrayUtils.addAll (Signature.UTF32BE.getMark(),COMBO_UTF32BE)); single(UTF32LE_UTF32LE,Signature.UTF32LE, UnicodeCharset.UTF32LE,ArrayUtils.addAll (Signature.UTF32LE.getMark(),COMBO_UTF32LE)); } }