@Test public void testRelativeToParentFilePath() { FileSystem fs = new MemoryFileSystem(); Folder mres = fs.getFolder( "src/main/java/org/domain" ); Folder f2 = fs.getFolder( "src/main/java/org/domain/f1/f2/" ); File f1 = mres.getFile( "MyClass.java" ); assertEquals( "../../MyClass.java", f1.getPath().toRelativePortableString( f2.getPath() ) ); }
@Test public void testRelativeToBranchFilePath() { FileSystem fs = new MemoryFileSystem(); Folder mres = fs.getFolder( "src/main/java/org/domain" ); Folder f2 = fs.getFolder( "src/main/resources/org/domain/" ); File f1 = mres.getFile( "MyClass.java" ); assertEquals( "../../../java/org/domain/MyClass.java", f1.getPath().toRelativePortableString( f2.getPath() ) ); } }
@Test public void testNestedRelativeDifferentPath() { FileSystem fs = new MemoryFileSystem(); Folder f1 = fs.getFolder( "src/main/java" ); Folder f2 = fs.getFolder( "src/main/resources" ); f1.create(); f2.create(); assertEquals( "../resources", f2.getPath().toRelativePortableString( f1.getPath() ) ); fs = new MemoryFileSystem(); f1 = fs.getFolder( "src/main/java/org/drools" ); f2 = fs.getFolder( "src/main/resources/org/drools/reteoo" ); f1.create(); f2.create(); assertEquals( "../../../resources/org/drools/reteoo", f2.getPath().toRelativePortableString( f1.getPath() ) ); }
@Test public void testNestedRelativePath() { FileSystem fs = new MemoryFileSystem(); Folder f1 = fs.getFolder( "src/main/java" ); Folder f2 = fs.getFolder( "src/main/java/org" ); f1.create(); f2.create(); assertEquals( "org", f2.getPath().toRelativePortableString( f1.getPath() ) ); fs = new MemoryFileSystem(); f1 = fs.getFolder( "src/main/java" ); f2 = fs.getFolder( "src/main/java/org/drools/reteoo" ); f1.create(); f2.create(); assertEquals( "org/drools/reteoo", f2.getPath().toRelativePortableString( f1.getPath() ) ); }
@Test public void testNestedRelativePathReverseArguments() { FileSystem fs = new MemoryFileSystem(); Folder f1 = fs.getFolder( "src/main/java/org" ); Folder f2 = fs.getFolder( "src/main/java/" ); f1.create(); f2.create(); assertEquals( "..", f2.getPath().toRelativePortableString( f1.getPath() ) ); fs = new MemoryFileSystem(); f1 = fs.getFolder( "src/main/java/org/drools/reteoo" ); f2 = fs.getFolder( "src/main/java" ); f1.create(); f2.create(); assertEquals( "../../..", f2.getPath().toRelativePortableString( f1.getPath() ) ); }