def testEllipsoid(self): ellipsoid_value = {'radii': {'cartesian': [1000.0, 2000.0, 3000.0]}, 'material': {}, 'show': True, } e = czml.Ellipsoid() e.show = True e.radii = czml.Radii(cartesian=[1000, 2000, 3000]) e.material = czml.Material() self.assertEqual(e.data(), ellipsoid_value) e2 = czml.Ellipsoid(**ellipsoid_value) self.assertEqual(e.data(), ellipsoid_value) # You can't create an ellipsoid with a nonsensical value for material. ellipsoid_value['material'] = 2 #with self.assertRaises(TypeError): # czml.Ellipsoid(**ellipsoid_value) self.assertRaises(TypeError, czml.Ellipsoid, **ellipsoid_value) ellipsoid_value['material'] = {} ellipsoid_value['radii'] = 5 # Can't create ellipsoids with nonsensical radii #with self.assertRaises(TypeError): # czml.Ellipsoid(**ellipsoid_value) self.assertRaises(TypeError, czml.Ellipsoid, **ellipsoid_value)
def testRadii(self): pos = czml.Radii() now = datetime.now() pos.epoch = now coords = [7.0, 0.0, 1.0, 2.0, 6.0, 3.0, 4.0, 5.0] pos.cartesian = coords self.assertEqual(pos.data()['cartesian'], coords) js = {'epoch': now.isoformat(), 'cartesian': coords} self.assertEqual(pos.data(), js) self.assertEqual(pos.dumps(), json.dumps(js)) pos.cartographicDegrees = coords self.assertEqual(pos.data()['cartesian'], coords) pos2 = czml.Radii() pos2.loads(pos.dumps()) self.assertEqual(pos.data(), pos2.data())
def testEllipsoid(self): # Create a new ellipsoid ellipsoid_value = { 'radii': { 'cartesian': [1000.0, 2000.0, 3000.0] }, 'material': {}, 'show': True, } e = czml.Ellipsoid() e.show = True e.radii = czml.Radii(cartesian=[1000, 2000, 3000]) e.material = czml.Material() self.assertEqual(e.data(), ellipsoid_value) # Create a new ellipsoid from an existing ellipsoid e2 = czml.Ellipsoid(**ellipsoid_value) self.assertEqual(e.data(), ellipsoid_value) # Verify you can't create an ellipsoid with a nonsensical value for material. ellipsoid_value['material'] = 2 with self.assertRaises(TypeError): czml.Ellipsoid(**ellipsoid_value) self.assertRaises(TypeError, czml.Ellipsoid, **ellipsoid_value) # Verify you can't create ellipsoids with nonsensical radii ellipsoid_value['material'] = {} ellipsoid_value['radii'] = 5 with self.assertRaises(TypeError): czml.Ellipsoid(**ellipsoid_value) self.assertRaises(TypeError, czml.Ellipsoid, **ellipsoid_value) # Add an ellipsoid to a CZML packet packet = czml.CZMLPacket(id='abc') packet.ellipsoid = e self.assertEqual( packet.data(), { 'id': 'abc', 'ellipsoid': { 'radii': { 'cartesian': [1000.0, 2000.0, 3000.0] }, 'material': {}, 'show': True, }, })