Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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())
Exemplo n.º 3
0
    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,
                },
            })