package com.beijunyi.parallelgit.filesystem.utils; import java.net.URI; import org.junit.Test; import static org.junit.Assert.assertEquals; public class GfsUriBuilderTest { @Test public void createUri_unixRepoPath() { assertEquals(URI.create("gfs:/repo"), GfsUriBuilder.prepare() .repository("/repo") .build()); } @Test public void createUri_dosRepoPath() { assertEquals(URI.create("gfs:/c:/repo"), GfsUriBuilder.prepare() .repository("/c:/repo") .build()); } @Test(expected = IllegalArgumentException.class) public void createUri_nullRepoPath() { GfsUriBuilder.prepare().build(); } @Test public void createUriWithFile() { assertEquals(URI.create("gfs:/repo#/file.txt"), GfsUriBuilder.prepare() .repository("/repo") .file("/file.txt") .build()); } @Test public void createUriWithFile_relativeFilePath() { assertEquals(URI.create("gfs:/repo#/file.txt"), GfsUriBuilder.prepare() .repository("/repo") .file("file.txt") .build()); } @Test public void createUriWithEmptyFile() { assertEquals(URI.create("gfs:/repo"), GfsUriBuilder.prepare() .repository("/repo") .file("") .build()); } @Test public void createUriWithRootFile() { assertEquals(URI.create("gfs:/repo"), GfsUriBuilder.prepare() .repository("/repo") .file("/") .build()); } @Test public void createUriWithSid() { assertEquals(URI.create("gfs:/repo?sid=testsession"), GfsUriBuilder.prepare() .repository("/repo") .sid("testsession") .build()); } @Test public void createUriWithFileAndSid() { assertEquals(URI.create("gfs:/repo?sid=testsession#/file.txt"), GfsUriBuilder.prepare() .repository("/repo") .file("/file.txt") .sid("testsession") .build()); } }