package org.marketcetera.util.unicode;
import java.io.File;
import org.apache.commons.lang.ArrayUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.marketcetera.util.file.Deleter;
import org.marketcetera.util.test.TestCaseBase;
import static org.marketcetera.util.test.UnicodeData.*;
/**
* @author tlerios@marketcetera.com
* @since 0.6.0
* @version $Id: IOTestBase.java 16154 2012-07-14 16:34:05Z colin $
*/
/* $License$ */
@Ignore
public abstract class IOTestBase
extends TestCaseBase
{
protected static final String TEST_FILE_ROOT=
DIR_ROOT+File.separator+"unicode"+File.separator;
protected static final String TEST_FILE=
TEST_FILE_ROOT+"sample.txt";
protected abstract void testNative()
throws Exception;
protected abstract void testSignatureCharset
(SignatureCharset sc,
byte[] bytes)
throws Exception;
protected abstract void testStrategy
(DecodingStrategy strategy,
SignatureCharset sc,
String string,
byte[] bytes)
throws Exception;
@Before
@After
public void setupTearDownIOTest()
throws Exception
{
Deleter.apply(TEST_FILE);
}
@Test
public void all()
throws Exception
{
testNative();
testSignatureCharset
(SignatureCharset.NONE_UTF16BE,COMBO_UTF16BE);
testSignatureCharset
(SignatureCharset.NONE_UTF16LE,COMBO_UTF16LE);
testSignatureCharset
(SignatureCharset.NONE_UTF32BE,COMBO_UTF32BE);
testSignatureCharset
(SignatureCharset.NONE_UTF32LE,COMBO_UTF32LE);
testSignatureCharset
(SignatureCharset.UTF8_UTF8,ArrayUtils.addAll
(Signature.UTF8.getMark(),COMBO_UTF8));
testSignatureCharset
(SignatureCharset.UTF16BE_UTF16BE,ArrayUtils.addAll
(Signature.UTF16BE.getMark(),COMBO_UTF16BE));
testSignatureCharset
(SignatureCharset.UTF16LE_UTF16LE,ArrayUtils.addAll
(Signature.UTF16LE.getMark(),COMBO_UTF16LE));
testSignatureCharset
(SignatureCharset.UTF32BE_UTF32BE,ArrayUtils.addAll
(Signature.UTF32BE.getMark(),COMBO_UTF32BE));
testSignatureCharset
(SignatureCharset.UTF32LE_UTF32LE,ArrayUtils.addAll
(Signature.UTF32LE.getMark(),COMBO_UTF32LE));
testStrategy
(DecodingStrategy.UTF8_DEFAULT,SignatureCharset.NONE_UTF8,
COMBO,COMBO_UTF8);
testStrategy
(DecodingStrategy.UTF16_DEFAULT,SignatureCharset.NONE_UTF16BE,
COMBO,COMBO_UTF16BE);
testStrategy
(DecodingStrategy.UTF32_DEFAULT,SignatureCharset.NONE_UTF32BE,
COMBO,COMBO_UTF32BE);
testStrategy
(DecodingStrategy.SIG_REQ,null,
HELLO_EN,HELLO_EN_NAT);
}
}