/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.operation.imports;
import net.codjo.utils.TestEnvironnement;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Test
*
* @author $Author: gonnot $
* @version $Revision: 1.1.1.1 $
*/
public class ImportBehaviorTest extends TestCase {
//Portefeuille PIMS (fixe): IMPORT_SETTINGS_ID=14
ImportBehavior importBehaviorF;
//Complement strategique (variable): IMPORT_SETTINGS_ID=11
ImportBehavior importBehaviorV;
TestEnvironnement testEnv;
/**
* Constructor for the ImportBehaviorTest object
*
* @param name Description of Parameter
*/
public ImportBehaviorTest(String name) {
super(name);
}
/**
* A unit test suite for JUnit
*
* @return The test suite
*/
public static Test suite() {
return new TestSuite(ImportBehaviorTest.class);
}
/**
* A unit test for JUnit
*/
public void test_addFieldImport_Variable() {
StringFieldImport fieldImport = new StringFieldImport("DB_NAME");
assertEquals("FixedLength", fieldImport.getFixedLength(), true);
importBehaviorV.addFieldImport(fieldImport);
assertEquals("FixedLength apres add", fieldImport.getFixedLength(), false);
assertEquals("Separator", fieldImport.getSeparator(), "\t");
}
/**
* A unit test for JUnit
*
* @throws Exception Description of Exception
*/
public void test_FileName() throws Exception {
//Tests pour fichiers � longueur fixe
assertEquals(importBehaviorF.findRealFileName(
importBehaviorF.getAutoInputFile(),
testEnv.getPeriod200012()).getName(), "PENEL_PTFPIMS1200.TXT");
assertEquals(importBehaviorF.getAutoInputFile().getParent(),
"D:\\Penelope\\test\\Files");
assertEquals(importBehaviorF.findRealFileName(
importBehaviorF.getManuInputFile(),
testEnv.getPeriod200012()).getName(), "PENEL_PTFPIMS1200.TXT");
assertEquals(importBehaviorF.getManuInputFile().getParent(),
"D:\\Penelope\\test\\Files");
//Tests pour fichiers � longueur variable
assertEquals(importBehaviorV.findRealFileName(
importBehaviorV.getAutoInputFile(),
testEnv.getPeriod200012()).getName(), "PENEL_STRATEG_0012.TXT");
assertEquals(importBehaviorV.getAutoInputFile().getParent(),
"D:\\Penelope\\test\\Files");
assertEquals(importBehaviorV.findRealFileName(
importBehaviorV.getManuInputFile(),
testEnv.getPeriod200012()).getName(), "PENEL_STRATEG_0012.TXT");
assertEquals(importBehaviorV.getManuInputFile().getParent(),
"D:\\Penelope\\test\\Files");
}
/**
* A unit test for JUnit
*
* @throws Exception Description of Exception
*/
public void test_getAutoOutputFile() throws Exception {
//Tests pour fichiers � longueur fixe
assertEquals(importBehaviorF.getAutoOutputFile().getName(),
"PENEL_PTFPIMSmmaa.TXT");
assertEquals(importBehaviorF.getAutoOutputFile().getParent(),
"\\\\tahiti\\transfert2\\4d\\penelop2\\out_box");
//Tests pour fichiers � longueur variable
assertEquals(importBehaviorV.getAutoOutputFile().getName(),
"PENEL_STRATEG_aamm.TXT");
assertEquals(importBehaviorV.getAutoOutputFile().getParent(),
"\\\\tahiti\\transfert2\\4d\\penelop2\\out_box");
}
/**
* A unit test for JUnit
*/
public void test_addFieldImport_NullPointer() {
//Tests pour fichiers � longueur fixe
try {
importBehaviorF.addFieldImport(null);
fail("Le field Import est incorrecte (=null)");
}
catch (IllegalArgumentException ef) {
}
//Tests pour fichiers � longueur variable
try {
importBehaviorV.addFieldImport(null);
fail("Le field Import est incorrecte (=null)");
}
catch (IllegalArgumentException ev) {
}
}
/**
* A unit test for JUnit
*/
public void test_addFieldImport_BadLength() {
//Tests pour fichiers � longueur fixe
StringFieldImport field = new StringFieldImport("");
field.setPosition(570);
field.setLength(10);
try {
importBehaviorF.addFieldImport(field);
fail(
"Le field Import est incorrecte (depassement de la longueur d'enregistrement)");
}
catch (IllegalArgumentException ef) {
}
}
/**
* A unit test for JUnit
*/
public void test_addFieldImport_BadPosition() {
//Tests pour fichiers � longueur fixe
StringFieldImport fieldF = new StringFieldImport("");
fieldF.setPosition(580);
fieldF.setLength(10);
try {
importBehaviorF.addFieldImport(fieldF);
fail(
"Le field Import est incorrecte (depassement de la longueur d'enregistrement)");
}
catch (IllegalArgumentException ef) {
}
}
/**
* A unit test for JUnit
*
* @throws Exception Description of Exception
*/
public void test_proceed_TooManyField() throws Exception {
// //Tests pour fichiers � longueur variable
// TableHome tableHome = testEnv.getTableHome();
// PortfolioGroupHome pfHome = testEnv.getPortfolioGroupHome();
// OperationHome opeHome = testEnv.getOperationHome();
// List opeList = opeHome.getAllOperation(testEnv.getPeriod200012());
// Operation opeImportCompStrat = (Operation) opeList.get(6);
//
// // Ajout de FieldImport pour depasser le nombre de
// // colonnes de la table.
// importBehaviorV.addFieldImport(new StringFieldImport("DB_NAME"));
// importBehaviorV.addFieldImport(new StringFieldImport("DB_NAME"));
// importBehaviorV.addFieldImport(new StringFieldImport("DB_NAME"));
// importBehaviorV.addFieldImport(new StringFieldImport("DB_NAME"));
//
// try {
// importBehaviorV.proceed(opeImportCompStrat);
// fail("Doit echouer, car trop de FieldImport.");
// }
// catch (Exception e) {
// }
}
/**
* The JUnit setup method
*/
protected void setUp() {
//Tests pour fichiers � longueur fixe
importBehaviorF =
new ImportBehavior("Portefeuille PIMS", "PENEL_PTFPIMSmmaa.TXT",
"D:\\Penelope\\test\\Files", 573, "Livraison prod faite le 26/01/2001",
"\\\\tahiti\\transfert2\\4d\\penelop2\\out_box\\",
"D:\\Penelope\\test\\Files", true, null, false, null);
StringFieldImport fieldA = new StringFieldImport("BOOK_KEEPING_PLAN");
fieldA.setPosition(1);
fieldA.setLength(4);
fieldA.setFixedLength(true);
fieldA.setSeparator(null);
importBehaviorF.addFieldImport(fieldA);
StringFieldImport fieldB = new StringFieldImport("PORTFOLIO_TYPE");
fieldB.setPosition(6);
fieldB.setLength(5);
fieldA.setFixedLength(true);
fieldA.setSeparator(null);
importBehaviorF.addFieldImport(fieldB);
//Tests pour fichiers � longueur variable
importBehaviorV =
new ImportBehavior("Titres strategiques", "PENEL_STRATEG_aamm.TXT",
"D:\\Penelope\\test\\Files", 0, null,
"\\\\tahiti\\transfert2\\4d\\penelop2\\out_box\\",
"D:\\Penelope\\test\\Files", false, "\t", true, null);
StringFieldImport fieldC = new StringFieldImport("PORTFOLIO");
fieldC.setPosition(2);
fieldC.setLength(0);
fieldC.setFixedLength(false);
fieldC.setSeparator("\t");
importBehaviorV.addFieldImport(fieldC);
StringFieldImport fieldD = new StringFieldImport("SECURITY_CODE");
fieldD.setPosition(3);
fieldD.setLength(0);
fieldD.setFixedLength(false);
fieldD.setSeparator("\t");
importBehaviorV.addFieldImport(fieldD);
TestEnvironnement.forceFakeDriver();
testEnv = TestEnvironnement.newEnvironment();
}
/**
* The teardown method for JUnit
*/
protected void tearDown() {
testEnv.close();
}
}