Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
giswqs
GitHub Repository: giswqs/geemap
Path: blob/master/tests/test_deck.py
2313 views
1
"""Tests for the deck module."""
2
3
import unittest
4
5
try:
6
import pydeck
7
from geemap import deck
8
9
PYDECK_AVAILABLE = True
10
except ImportError:
11
PYDECK_AVAILABLE = False
12
13
14
@unittest.skipUnless(PYDECK_AVAILABLE, "pydeck not available")
15
class DeckTest(unittest.TestCase):
16
17
def test_map_init_default_params(self):
18
m = deck.Map(ee_initialize=False)
19
self.assertEqual(m.initial_view_state.latitude, 20)
20
self.assertEqual(m.initial_view_state.longitude, 0)
21
self.assertEqual(m.initial_view_state.zoom, 1.2)
22
self.assertEqual(m.initial_view_state.height, 800)
23
self.assertIn("positron", m.map_style)
24
self.assertEqual(len(m.layers), 0)
25
26
def test_map_init_custom_center(self):
27
m = deck.Map(ee_initialize=False, center=(40, -100))
28
self.assertEqual(m.initial_view_state.latitude, 40)
29
self.assertEqual(m.initial_view_state.longitude, -100)
30
31
def test_map_init_custom_zoom(self):
32
m = deck.Map(ee_initialize=False, zoom=10)
33
self.assertEqual(m.initial_view_state.zoom, 10)
34
35
def test_map_init_custom_height(self):
36
m = deck.Map(ee_initialize=False, height=600)
37
self.assertEqual(m.initial_view_state.height, 600)
38
39
def test_map_custom_map_style(self):
40
m = deck.Map(ee_initialize=False, map_style="dark")
41
self.assertIn("dark", m.map_style)
42
43
def test_add_layer_url(self):
44
m = deck.Map(ee_initialize=False)
45
m.add_layer("https://example.com/tiles/{z}/{x}/{y}.png", layer_name="test")
46
self.assertEqual(len(m.layers), 1)
47
48
def test_add_layer_pydeck_layer(self):
49
m = deck.Map(ee_initialize=False)
50
layer = pydeck.Layer("ScatterplotLayer", data=[], get_position="[0, 0]")
51
m.add_layer(layer)
52
self.assertEqual(len(m.layers), 1)
53
54
def test_add_multiple_layers(self):
55
m = deck.Map(ee_initialize=False)
56
m.add_layer("https://example.com/tiles/{z}/{x}/{y}.png", layer_name="layer1")
57
m.add_layer("https://example.com/tiles2/{z}/{x}/{y}.png", layer_name="layer2")
58
self.assertEqual(len(m.layers), 2)
59
60
61
if __name__ == "__main__":
62
unittest.main()
63
64