CRSfromCityGMLHeaderTests.java 1.85 KB
Newer Older
Eric Duminil's avatar
Eric Duminil committed
1
2
package eu.simstadt.regionchooser;

Eric Duminil's avatar
Eric Duminil committed
3
4
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
Eric Duminil's avatar
Eric Duminil committed
5
6
7
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
Eric Duminil's avatar
Eric Duminil committed
8
import org.junit.jupiter.api.Test;
Eric Duminil's avatar
Eric Duminil committed
9
10


Eric Duminil's avatar
Eric Duminil committed
11
class CRSfromCityGMLHeaderTests
Eric Duminil's avatar
Eric Duminil committed
12
13
14
15
{
	private Path repo = Paths.get("src/test/resources/testdata");

	private void testExtractCSRNameFromHeader(Path citygmlPath, String crsName) throws IOException {
Eric Duminil's avatar
Eric Duminil committed
16
		assertEquals(RegionChooserUtils.crsFromCityGMLHeader(citygmlPath).toString(), crsName);
Eric Duminil's avatar
Eric Duminil committed
17
18
19
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
20
	void testExtractCRSFromStuttgart() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
21
22
		testExtractCSRNameFromHeader(repo.resolve("Stuttgart.proj/Stuttgart_LOD0_LOD1_buildings_and_trees.gml"),
				"EPSG:31463");
Eric Duminil's avatar
Eric Duminil committed
23
24
25
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
26
	void testExtractCRSFromGruenbuehl() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
27
28
		testExtractCSRNameFromHeader(repo.resolve("Gruenbuehl.proj/20140218_Gruenbuehl_LOD2_1building.gml"),
				"EPSG:31467");
Eric Duminil's avatar
Eric Duminil committed
29
30
31
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
32
	void testExtractCRSFromMunich() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
33
34
35
36
		testExtractCSRNameFromHeader(repo.resolve("Muenchen.proj/Munich_v_1_0_0.gml"), "EPSG:32632");
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
37
	void testExtractCRSFromNYC() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
38
39
40
41
		testExtractCSRNameFromHeader(repo.resolve("NewYork.proj/ManhattanSmall.gml"), "EPSG:32118");
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
42
	void testExtractCRSFromAachen() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
43
		testExtractCSRNameFromHeader(repo.resolve("Others.proj/Aachen.gml"), "EPSG:25832");
Eric Duminil's avatar
Eric Duminil committed
44
45
46
	}

	@Test
Eric Duminil's avatar
Eric Duminil committed
47
	void testExtractCRSFromValladolid() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
48
49
50
		testExtractCSRNameFromHeader(repo.resolve("Others.proj/Valladolid_Spain_only_header.gml"), "EPSG:25830");
	}

Eric Duminil's avatar
Eric Duminil committed
51
	@Test
Eric Duminil's avatar
Eric Duminil committed
52
	void testDontExtractCRSFromBrokenCityGML() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
53
		Path citygmlPath = repo.resolve("Others.proj/SimpleSolid_MSBS.gml");
Eric Duminil's avatar
Eric Duminil committed
54
55
56
		assertThrows(IllegalArgumentException.class, () -> {
			testExtractCSRNameFromHeader(citygmlPath, "Nothing found. Should throw an exception");
		});
Eric Duminil's avatar
Eric Duminil committed
57
58
	}
}