/* * Copyright (C) 2012 Brockmann Consult GmbH (info@brockmann-consult.de) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 3 of the License, or (at your option) * any later version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, see http://www.gnu.org/licenses/ */ package com.bc.ceres.metadata; import org.junit.Test; import org.mockito.Matchers; import java.util.SortedMap; import static org.junit.Assert.*; import static org.mockito.Mockito.*; public class MetadataResourceResolverTest { @Test public void testRemovefileExtension() throws Exception { SimpleFileSystem fileSystem = mock(SimpleFileSystem.class); MetadataResourceResolver metadataResourceResolver = new MetadataResourceResolver(fileSystem); when(fileSystem.isFile(Matchers.anyString())).thenReturn(true); // existing files assertEquals("foo", metadataResourceResolver.removeFileExtension("foo.txt")); assertEquals("foo", metadataResourceResolver.removeFileExtension("foo")); assertEquals("foo/bar", metadataResourceResolver.removeFileExtension("foo/bar.baz")); assertEquals("foo\\bar", metadataResourceResolver.removeFileExtension("foo\\bar.baz")); when(fileSystem.isFile(Matchers.anyString())).thenReturn(false ); // not existing assertEquals("bar.foo", metadataResourceResolver.removeFileExtension("bar.foo")); // not existing file //directories assertEquals("\\root\\foo", metadataResourceResolver.removeFileExtension("\\root\\foo")); String directory = "C:\\Users\\bettina\\Software-Tests\\own-software\\ceres-metadata-0.13.2-SNAPSHOT\\data\\out"; assertEquals(directory, metadataResourceResolver.removeFileExtension(directory)); assertEquals("/root/foo/", metadataResourceResolver.removeFileExtension("/root/foo/")); } @Test public void testBasename() throws Exception { assertEquals("foo.txt", MetadataResourceResolver.getBasename("foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("/foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("./foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("bar/foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("/bar/foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("\\foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename(".\\foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("bar\\foo.txt")); assertEquals("foo.txt", MetadataResourceResolver.getBasename("\\bar\\foo.txt")); } @Test public void testDirname() throws Exception { assertEquals("", MetadataResourceResolver.getDirname("foo.txt")); assertEquals("", MetadataResourceResolver.getDirname("/foo.txt")); assertEquals(".", MetadataResourceResolver.getDirname("./foo.txt")); assertEquals("bar", MetadataResourceResolver.getDirname("bar/foo.txt")); assertEquals("/bar", MetadataResourceResolver.getDirname("/bar/foo.txt")); assertEquals("", MetadataResourceResolver.getDirname("\\foo.txt")); assertEquals(".", MetadataResourceResolver.getDirname(".\\foo.txt")); assertEquals("bar", MetadataResourceResolver.getDirname("bar\\foo.txt")); assertEquals("C:/bar", MetadataResourceResolver.getDirname("C:\\bar\\foo.txt")); } @Test public void testGetSourceNames() throws Exception { SimpleFileSystem fileSystem = mock(SimpleFileSystem.class); MetadataResourceResolver resolver = new MetadataResourceResolver(fileSystem); when(fileSystem.isFile(anyString())).thenReturn(true); when(fileSystem.list(anyString())).thenReturn(new String[]{"file1", "product-file2.xml", "file3", "product-file4.properties"}); SortedMap<String,String> sourceMetadataPaths= resolver.getSourceMetadataPaths("/bla/bli/product.dim"); assertEquals(2, sourceMetadataPaths.size()); assertEquals("/bla/bli/product-file2.xml", sourceMetadataPaths.get("file2.xml")); assertEquals("/bla/bli/product-file4.properties", sourceMetadataPaths.get("file4.properties")); } }