def test_camera_basics(self): widget = cesiumpy.CesiumWidget(divid='cesiumwidget') c = cesiumpy.Camera(widget) self.assertEqual(c.script, '') c.flyTo((1, 2, 3)) exp = '{destination : Cesium.Cartesian3.fromDegrees(1.0, 2.0, 3.0)}' self.assertEqual(c.script, exp) c.flyTo((4, 5, 6)) exp = '{destination : Cesium.Cartesian3.fromDegrees(4.0, 5.0, 6.0)}' self.assertEqual(c.script, exp) c.flyTo((4, 5, 6, 7)) exp = '{destination : Cesium.Rectangle.fromDegrees(4.0, 5.0, 6.0, 7.0)}' self.assertEqual(c.script, exp) msg = "x must be longitude, between -180 to 180" with nose.tools.assert_raises_regexp(ValueError, msg): c.flyTo((200, 2, 3)) msg = "y must be latitude, between -90 to 90" with nose.tools.assert_raises_regexp(ValueError, msg): c.flyTo((1, 200, 3)) msg = "The 'destination' trait of a Camera instance must be a _Cartesian or None" with nose.tools.assert_raises_regexp(traitlets.TraitError, msg): c.flyTo(1)
def test_camera_repr(self): widget = cesiumpy.CesiumWidget(divid='cesiumwidget') c = cesiumpy.Camera(widget) self.assertEqual(repr(c), "Camera(destination=default)") c.flyTo((-130, 40, 10000)) self.assertEqual( repr(c), "Camera(destination=Cartesian3.fromDegrees(-130.0, 40.0, 10000.0))" )
def test_widget_props(self): widget = cesiumpy.CesiumWidget(divid='namechange', height='50%', width='70%') result = widget.to_html() exp = """<script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script> <link rel="stylesheet" href="https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css" type="text/css"> <div id="namechange" style="width:70%; height:50%;"><div> <script type="text/javascript"> var widget = new Cesium.CesiumWidget("namechange"); </script>""" self.assertEqual(result, exp)
def test_widget(self): widget = cesiumpy.CesiumWidget(divid='cesiumwidget') widget.camera.flyTo((-117.16, 32.71, 15000.0)) result = widget.to_html() exp = """<script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script> <link rel="stylesheet" href="https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css" type="text/css"> <div id="cesiumwidget" style="width:100%; height:100%;"><div> <script type="text/javascript"> var widget = new Cesium.CesiumWidget("cesiumwidget"); widget.camera.flyTo({destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)}); </script>""" self.assertEqual(result, exp)
import cesiumpy v = cesiumpy.CesiumWidget() v = cesiumpy.Viewer() b = cesiumpy.Box(dimensions=(40e4, 30e4, 50e4), material=cesiumpy.color.RED, position=[-120, 40, 0]) v.entities.add(b)#print
def test_random_divid(self): widget = cesiumpy.CesiumWidget() self.assertIsInstance(widget.div.divid, six.string_types)
def setUp(self): self.widget = cesiumpy.CesiumWidget(divid='widgettest')