@@ -0,0 +1,2276 @@
+package org.csstudio.perspectives;%0A%0Aimport static org.junit.Assert.assertArrayEquals;%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.assertTrue;%0A%0Aimport java.io.File;%0Aimport java.io.IOException;%0Aimport java.net.MalformedURLException;%0Aimport java.net.URISyntaxException;%0Aimport java.net.URL;%0A%0Aimport org.eclipse.emf.common.util.URI;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0A%0Apublic class FileUtilsUnitTest %7B%0A%0A    private FileUtils fileUtils;%0A    private URL simpleUrl;%0A    private String fileString = %22/tmp/hello.txt%22;%0A%0A    @Before%0A    public void setUp() throws Exception %7B%0A        fileUtils = new FileUtils();%0A        simpleUrl = new URL(%22file:%22 + fileString);%0A    %7D%0A%0A    @Test(expected=NullPointerException.class)%0A    public void checkUrlToEmfUriThrowsNullPointerExceptionIfNullArgument() %7B%0A        fileUtils.urlToEmfUri(null);%0A    %7D%0A%0A    @Test%0A    public void checkUrlToEmfUriHandlesSimpleFile() throws MalformedURLException %7B%0A        URI uri = fileUtils.urlToEmfUri(simpleUrl);%0A        assertEquals(uri.scheme(), %22file%22);%0A        assertArrayEquals(uri.segments(), new String%5B%5D %7B%22tmp%22, %22hello.txt%22%7D);%0A        assertEquals(uri.fileExtension(), %22txt%22);%0A    %7D%0A%0A    @Test(expected=NullPointerException.class)%0A    public void checkUrlToFileThrowsNullPointerExceptionIfNullArgument() %7B%0A        fileUtils.urlToFile(null);%0A    %7D%0A%0A    @Test%0A    public void checkUrlToFileHandlesSimpleFile() %7B%0A        File file = fileUtils.urlToFile(simpleUrl);%0A        assertEquals(file.getAbsolutePath(), fileString);%0A    %7D%0A%0A    @Test(expected=NullPointerException.class)%0A    public void checkStringPathToFileThrowsNullPointerExceptionIfArgumentIsNull() throws IOException, URISyntaxException %7B%0A        fileUtils.stringPathToFile(null);%0A    %7D%0A%0A    @Test(expected=NullPointerException.class)%0A    public void checkStringPathToUriFileStringThrowsNullPointerExceptionIfArgumentIsNull() throws IOException, URISyntaxException %7B%0A        fileUtils.stringPathToUriFileString(null);%0A    %7D%0A%0A    @Test%0A    public void checkStringPathToUriFileStringPrependsFile() throws IOException, URISyntaxException %7B%0A        String uri = fileUtils.stringPathToUriFileString(fileString);%0A        assertTrue(uri.startsWith(%22file%22));%0A        assertTrue(uri.endsWith(fileString));%0A    %7D%0A%7D%0A

Add some unit tests for FileUtils.