CRSfromCityGMLHeaderTests.java 1.97 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
11
12
13
14
15
16
import eu.simstadt.geo.RegionChooserUtils;


public class CRSfromCityGMLHeaderTests
{
	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
17
		assertEquals(RegionChooserUtils.crsFromCityGMLHeader(citygmlPath).toString(), crsName);
Eric Duminil's avatar
Eric Duminil committed
18
19
20
21
	}

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

	@Test
	public void testExtractCRSFromGruenbuehl() throws IOException {
Eric Duminil's avatar
Eric Duminil committed
28
29
		testExtractCSRNameFromHeader(repo.resolve("Gruenbuehl.proj/20140218_Gruenbuehl_LOD2_1building.gml"),
				"EPSG:31467");
Eric Duminil's avatar
Eric Duminil committed
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	}

	@Test
	public void testExtractCRSFromMunich() throws IOException {
		testExtractCSRNameFromHeader(repo.resolve("Muenchen.proj/Munich_v_1_0_0.gml"), "EPSG:32632");
	}

	@Test
	public void testExtractCRSFromNYC() throws IOException {
		testExtractCSRNameFromHeader(repo.resolve("NewYork.proj/ManhattanSmall.gml"), "EPSG:32118");
	}

	@Test
	public void testExtractCRSFromAachen() throws IOException {
		testExtractCSRNameFromHeader(repo.resolve("Others.proj/Aachen_LoD2_293_5623_1_NW.gml"), "EPSG:25832");
	}

	@Test
	public void testExtractCRSFromValladolid() throws IOException {
		testExtractCSRNameFromHeader(repo.resolve("Others.proj/Valladolid_Spain_only_header.gml"), "EPSG:25830");
	}

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