package org.fastcatsearch.env; import static org.junit.Assert.assertTrue; import java.io.File; import java.util.Collection; import java.util.Iterator; import org.fastcatsearch.util.FileUtils; import org.junit.Test; public class FilePathsTest { @Test public void testPath() { Path filepaths = new Path(new File(".")); String home = "/tmp/"; String filePath = filepaths.path("a", "b", "c.txt").toString(); String FS = Environment.FILE_SEPARATOR; String expected = home+"a"+FS+"b"+FS+"c.txt"; assertTrue(expected.equals(filePath)); String filePath2 = filepaths.makeRelativePath("a").path("b", "c.txt").toString(); String expected2 = "a"+FS+"b"+FS+"c.txt"; assertTrue(expected2.equals(filePath2)); } @Test public void testRelativePath() { File directory = new File("src/main/java"); File home = new File("/Users/swsong/git-stable/fastcatsearch/server/src/main/java"); Path homePath = new Path(home); Collection<File> files = FileUtils.listFiles(directory, null, true); Iterator<File> fileIterator = files.iterator(); while(fileIterator.hasNext()){ File file = fileIterator.next(); // System.out.println(file+", "+file.toURI()); File relativeFile = homePath.relativise(file); System.out.println(file+", "+relativeFile.getPath()); } // Path path = new Path(new File("/home/search/")); // File file = new File("search/a.txt"); // path.relativise(path); } }