package fr.ens.biologie.genomique.eoulsan.translator;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import fr.ens.biologie.genomique.eoulsan.translators.MultiColumnTranslator;
import fr.ens.biologie.genomique.eoulsan.translators.UniqueIdentifierTranslator;
public class UniqueIdentifierTranslatorTest {
private static final String[] ARRAY_FIELD = {"Col1", "Col2", "Col3", "Col4"};
private static final String[] ARRAY_ROW_ONE = {"A", "1", "A1", "0"};
private static final String[] ARRAY_ROW_TWO = {"B", "2", "B2", "0"};
private static final String[] ARRAY_ROW_THREE = {"C", "3.0", "C3", "0"};
private static final String[] ARRAY_ROW_FOUR = {"D", "4", "D4", "0"};
private static final String[] ARRAY_ROW_FIVE = {"E", "4", "D4"};
private static final String[] ARRAY_UNIQUE_IDS = {"A", "B", "C"};
MultiColumnTranslator transl = new MultiColumnTranslator(ARRAY_FIELD);
@Before
public void setUp() throws Exception {
transl.addRow(ARRAY_ROW_ONE);
transl.addRow(ARRAY_ROW_TWO);
transl.addRow(ARRAY_ROW_THREE);
transl.addRow(ARRAY_ROW_FOUR);
transl.addRow(ARRAY_ROW_FIVE);
}
@Test
public void testTranslateFieldUnique() {
UniqueIdentifierTranslator uniqIdTransl =
new UniqueIdentifierTranslator(ARRAY_UNIQUE_IDS, transl);
uniqIdTransl.setNewFieldName("newField");
uniqIdTransl.updateFields();
assertEquals("A1", uniqIdTransl.translateField("1", "Col3"));
assertEquals("0", uniqIdTransl.translateField("3.0", "Col4"));
}
@Test
public void testUpdateandSetNewFieldName() {
UniqueIdentifierTranslator uniqIdTransl =
new UniqueIdentifierTranslator(ARRAY_UNIQUE_IDS, transl);
uniqIdTransl.setNewFieldName("last field");
List<String> fields = uniqIdTransl.getFields();
assertEquals("UniqueId", fields.get(0));
assertEquals("Col2", fields.get(1));
assertEquals("Col3", fields.get(2));
assertEquals("Col4", fields.get(3));
uniqIdTransl.updateFields();
fields = uniqIdTransl.getFields();
assertEquals("last field", fields.get(0));
assertEquals("Col2", fields.get(1));
assertEquals("Col3", fields.get(2));
assertEquals("Col4", fields.get(3));
}
@Test
public void testUniqueIdentifierTranslator() {
try {
new UniqueIdentifierTranslator(new ArrayList<String>(), null);
assertTrue(false);
} catch (NullPointerException e) {
assertTrue(true);
}
}
}