package eu.project.ttc.test.unit.utils;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import eu.project.ttc.utils.FileUtils;
public class FileUtilsSpec {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Test
public void testReplaceRootAsString() throws IOException {
assertThat(FileUtils.replaceRootDir("/path/to/old/root/tata/toto.txt", "/path/to/old/root", "/path/to/new/root")).isEqualTo(
"/path/to/new/root/tata/toto.txt");
}
@Test
public void testFileUtilsSpec() {
assertThat(FileUtils.replaceExtensionWith("tata.txt", "xmi"))
.isEqualTo("tata.xmi");
assertThat(FileUtils.replaceExtensionWith("tata", "xmi"))
.isEqualTo("tata.xmi");
assertThat(FileUtils.replaceExtensionWith("tata.toto.txt", "xmi"))
.isEqualTo("tata.toto.xmi");
assertThat(FileUtils.replaceExtensionWith("/path/to/toto.txt", "xmi"))
.isEqualTo("/path/to/toto.xmi");
assertThat(FileUtils.replaceExtensionWith("/path/to/toto.tata.txt", "xmi"))
.isEqualTo("/path/to/toto.tata.xmi");
assertThat(FileUtils.replaceExtensionWith("/path/t.o/toto.txt", "xmi"))
.isEqualTo("/path/t.o/toto.xmi");
assertThat(FileUtils.replaceExtensionWith("/path/t.o/toto", "xmi"))
.isEqualTo("/path/t.o/toto.xmi");
}
@Test
public void testReplaceRootBasic() throws IOException {
File tata = folder.newFolder("tata");
File toto = folder.newFile("tata/toto.txt");
File titi = folder.newFolder("titi");
String newPath = FileUtils.replaceRootDir(
toto.getCanonicalPath(), folder.getRoot(), titi);
assertThat(newPath).isEqualTo(folder.getRoot().getAbsolutePath() + "/titi/tata/toto.txt");
String newPath2 = FileUtils.replaceRootDir(
toto.getCanonicalPath(), tata, titi);
assertThat(newPath2).isEqualTo(folder.getRoot().getAbsolutePath() + "/titi/toto.txt");
}
}