package org.esa.snap.nbexec; import org.junit.Test; import java.nio.file.Paths; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import static org.junit.Assume.assumeTrue; public class PatchTest { @Test public void testParseOkWin() throws Exception { assumeTrue(System.getProperty("os.name").startsWith("Win")); Launcher.Patch patch = Launcher.Patch.parse("C:\\Users\\Norman\\Projects\\my-snap-module\\$\\target\\classes"); assertEquals(Paths.get("C:\\Users\\Norman\\Projects\\my-snap-module"), patch.getDir()); assertEquals("target\\classes", patch.getSubPath()); } @Test public void testParseOkNoneWin() throws Exception { assumeTrue(!System.getProperty("os.name").startsWith("Win")); Launcher.Patch patch = Launcher.Patch.parse("/home/norman/projects/my-snap-module/$/target/classes"); assertEquals(Paths.get("/home/norman/projects/my-snap-module"), patch.getDir()); assertEquals("target/classes", patch.getSubPath()); } @Test public void testParseErrorsWin() { assumeTrue(System.getProperty("os.name").startsWith("Win")); try { Launcher.Patch.parse("C:\\Users\\Norman\\Projects\\my-snap-module\\target\\classes"); fail(); } catch (IllegalArgumentException e) { // ok } try { Launcher.Patch.parse("C:\\Users\\Norman\\Projects\\my-snap-module\\$\\target\\classes\\$"); fail(); } catch (IllegalArgumentException e) { // ok } } @Test public void testParseErrorsNoneWin() { assumeTrue(!System.getProperty("os.name").startsWith("Win")); try { Launcher.Patch.parse("/home/norman/projects/snap-module/target/classes"); fail(); } catch (IllegalArgumentException e) { // ok } try { Launcher.Patch.parse("/home/norman/projects/snap-module/$/target/classes/$"); fail(); } catch (IllegalArgumentException e) { // ok } } }