linting ...
[oam.git] / code / network-generator / tests / test_geo_location.py
1 # Copyright 2023 highstreet technologies GmbH
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 from network_generation.model.python.geo_location import (
16     IGeoLocation,
17     GeoLocation,
18 )
19 from network_generation.model.python.point import Point
20
21
22 def test_geo_location() -> None:
23     geo_location: GeoLocation = GeoLocation()
24     expected: str = "{'latitude': 0, 'longitude': 0, 'aboveMeanSeaLevel': 0}"
25     assert str(geo_location) == expected
26
27     data: IGeoLocation = {
28         "latitude": 40.1234,
29         "longitude": -30.2345,
30         "aboveMeanSeaLevel": 50,
31     }
32     geo_location = GeoLocation(data)
33     expected = (
34         "{'latitude': 40.1234, 'longitude': -30.2345, 'aboveMeanSeaLevel': 50}"
35     )
36     assert str(geo_location) == expected
37
38     geo_location = geo_location.point_to_geo_location(Point(0, 0))
39     assert str(geo_location) == expected