#!/usr/bin/env python from copy import copy from ephem import Observer, city from unittest import TestCase class ObserverTests(TestCase): def test_longitude_constructor_does_not_hang(self): # GitHub #207 observer = Observer() observer.lon = '-113.78401934344532' def test_lon_can_also_be_called_long(self): o = Observer() o.lon = 3.0 self.assertEqual(o.long, 3.0) o.long = 6.0 self.assertEqual(o.lon, 6.0) def test_pressure_at_sea_level(self): o = Observer() o.elevation = 0 o.compute_pressure() self.assertEqual(o.pressure, 1013.25) def test_pressure_at_11km(self): o = Observer() o.elevation = 11e3 o.compute_pressure() assert 226.31 < o.pressure < 226.33 def test_observer_copy(self): c = city('Boston') c.date = '2015/5/30 10:09' d = c.copy() self._check_observer(c, d) d = copy(c) self._check_observer(c, d) def _check_observer(self, c, d): assert c is not d self.assertEqual(c.date, d.date) self.assertEqual(c.lat, d.lat) self.assertEqual(c.lon, d.lon) self.assertEqual(c.elev, d.elev) self.assertEqual(c.horizon, d.horizon) self.assertEqual(c.epoch, d.epoch) self.assertEqual(c.temp, d.temp) self.assertEqual(c.pressure, d.pressure)