package tests;
import java.io.File;
import java.util.List;
import junit.framework.TestCase;
import org.junit.Test;
import persistense.FileHandler;
import application.RenameType;
import application.Renamer;
public class RenamerTest extends TestCase{
private boolean debug;
private boolean frame;
@Override
protected void setUp() throws Exception{
debug = true;
frame = true;
FileHandler.setDebug(debug);
}
@Test
public void testRenamer(){
String diretorioDestino = "C:/Users/YvensNotebook/Desktop/TesteRenamerDestino";
File destino = FileHandler.getFile(diretorioDestino);
String arquivoTeste01 = "C:/Users/YvensNotebook/Desktop/TesteRenamer/abstract_0005.jpg";
File arquivo01 = FileHandler.getFile(arquivoTeste01);
boolean mesmoArquivo01 = true;
Renamer renamer;
if(arquivo01.exists()){
String extensaoArquivoTeste01 = FileHandler.getExtension(arquivoTeste01);
String hashArquivo01 = String.valueOf(arquivo01.hashCode());
if(debug){
System.out.println("Teste n� 1 - Renomeamento de 1 arquivo.");
System.out.println("Nome do arquivo: "+arquivoTeste01);
System.out.println("Hash do arquivo: "+hashArquivo01);
System.out.println("Tipo: "+RenameType.HASH);
}
renamer = new Renamer(arquivo01, destino, RenameType.HASH, frame, debug);
renamer.batch();
File arquivo01Modified = FileHandler.getFile(diretorioDestino+File.separator+hashArquivo01+"."+extensaoArquivoTeste01);
mesmoArquivo01 = mesmoArquivo01 && arquivo01Modified.exists();
if(debug){
System.out.println("Teste se existe o arquivo "+arquivo01Modified+" no destino: "+mesmoArquivo01);
}
if(mesmoArquivo01){
mesmoArquivo01 = mesmoArquivo01 && (arquivo01.length() == arquivo01Modified.length());
if(debug){
System.out.println("Teste se os tamanhos s�o iguais: "+mesmoArquivo01);
}
}
boolean delecao01 = arquivo01Modified.delete();
if(debug){
System.out.println("Deletando o arquivo "+arquivo01Modified+" de teste. Dele��o realizada com sucesso = "+delecao01);
}
mesmoArquivo01 = mesmoArquivo01 && delecao01;
}
String arquivoTeste02 = "C:/Users/YvensNotebook/Desktop/TesteRenamer";
File arquivo02 = FileHandler.getFile(arquivoTeste02);
if(debug){
System.out.println("\nTeste n� 2 - Renomeamento de todos os arquivos de um diret�rio.");
System.out.println("Nome do diret�rio: "+arquivoTeste02);
System.out.println("Tipo: "+RenameType.HASH);
}
renamer = new Renamer(arquivo02, destino, RenameType.HASH, frame, debug);
renamer.batch();
boolean mesmoArquivo02 = true;
List<File> fileList = FileHandler.getFileListInDirectory(arquivo02);
for(File file : fileList){
String hashArquivo02 = String.valueOf(file.hashCode());
String extensaoArquivoTeste02 = FileHandler.getExtension(file);
File arquivo02Modified = FileHandler.getFile(diretorioDestino+File.separator+hashArquivo02+"."+extensaoArquivoTeste02);
mesmoArquivo02 = mesmoArquivo02 && arquivo02Modified.exists();
if(debug){
System.out.println("Teste se existe o arquivo "+arquivo02Modified+" no destino: "+mesmoArquivo02);
}
if(mesmoArquivo02){
mesmoArquivo02 = mesmoArquivo02 && (file.length() == arquivo02Modified.length());
if(debug){
System.out.println("Teste se os tamanhos s�o iguais: "+mesmoArquivo02);
}
}
boolean delecao02 = arquivo02Modified.delete();
if(debug){
System.out.println("Deletando o arquivo "+arquivo02Modified+" de teste. Dele��o realizada com sucesso = "+delecao02);
}
mesmoArquivo02 = mesmoArquivo02 && delecao02;
}
assertEquals(true, mesmoArquivo01 && mesmoArquivo02);
}
}