Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

38 rader
1.5 KiB

  1. import unittest
  2. from kosmorrolib.data import AsterEphemerides, Planet, MoonPhase
  3. from kosmorrolib.dumper import JsonDumper
  4. from kosmorrolib.core import get_timescale
  5. class DumperTestCase(unittest.TestCase):
  6. def test_json_dumper_returns_correct_json(self):
  7. data = self._get_data()
  8. self.assertEqual('{\n'
  9. ' "moon_phase": {\n'
  10. ' "next_phase_date": "2019-11-20T00:00:00Z",\n'
  11. ' "phase": "FULL_MOON",\n'
  12. ' "date": "2019-11-11T00:00:00Z"\n'
  13. ' },\n'
  14. ' "details": [\n'
  15. ' {\n'
  16. ' "name": "Mars",\n'
  17. ' "ephemerides": {\n'
  18. ' "rise_time": null,\n'
  19. ' "culmination_time": null,\n'
  20. ' "set_time": null\n'
  21. ' }\n'
  22. ' }\n'
  23. ' ]\n'
  24. '}', JsonDumper(data).to_string())
  25. @staticmethod
  26. def _get_data():
  27. return {
  28. 'moon_phase': MoonPhase('FULL_MOON', get_timescale().utc(2019, 11, 11), get_timescale().utc(2019, 11, 20)),
  29. 'details': [Planet('Mars', 'MARS', AsterEphemerides(None, None, None))]
  30. }
  31. if __name__ == '__main__':
  32. unittest.main()