Package importation.csv

Source Code of importation.csv.CsvPaysImportateurTest

package importation.csv;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import junit.framework.Assert;
import junit.framework.TestCase;
import modele.chauffeur.Pays;

/**
*
* @author Kasandra
*
*/
public class CsvPaysImportateurTest extends TestCase {

  public void testImporte() throws Exception {
   
    CsvImportateur<Pays> importateur = new CsvImportateur<Pays>();
   
    String s = "BE;Belgique\nFR;France\n";
   
    InputStream flux = new ByteArrayInputStream(s.getBytes());
   
    Collection<Pays> paysImport�s = importateur.importe(flux, new CSVPaysDecodeur());
   
    Collection<Pays> paysAttendus = Arrays.asList(creePays("BE","Belgique"), creePays("FR","France"));
   
    v�rifieListeIdentique(paysAttendus, paysImport�s);
  }
 
  private void v�rifieListeIdentique(Collection<Pays> paysAttendus, Collection<Pays> paysImport�s) {
    if (paysAttendus.size() != paysImport�s.size()) {
      Assert.fail("les listes de pays ne contiennent pas le m�me nombre d'�l�ments");
    }
    Comparator<Pays> paysComparator = new Comparator<Pays>() {

      @Override
      public int compare(Pays pays1, Pays pays2) {
       
        int codePaysComparaison = pays1.getCode().compareTo(pays2.getCode());
        if (codePaysComparaison == 0) {
          return pays1.getNom().compareTo(pays2.getNom());
        } else {
          return codePaysComparaison;
        }
      }
    };
    List<Pays> paysAttendusTri�s = new ArrayList<Pays>(paysAttendus);
   
    Collections.sort(paysAttendusTri�s, paysComparator);
   
    List<Pays> paysImport�sTri�s = new ArrayList<Pays>(paysImport�s);
    Collections.sort(paysImport�sTri�s, paysComparator);
   
    for (int i = 0; i < paysAttendusTri�s.size(); i++) {
      if (!paysAttendusTri�s.get(i).getCode().equals(paysImport�sTri�s.get(i).getCode())) {
        Assert.fail("le code des pays n'est pas le m�me");
      } else {
        if (!paysAttendusTri�s.get(i).getNom().equals(paysImport�sTri�s.get(i).getNom())) {
          Assert.fail("le nom des pays n'est pas le m�me");
        }
      }
    }
  }
 
  private Pays creePays(String code, String nom) {
    Pays pays = new Pays();
    pays.setCode(code);
    pays.setNom(nom);
    return pays;
  }
}
TOP

Related Classes of importation.csv.CsvPaysImportateurTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.