pyEDSM/edsm/test_systemApi.py
alterNERDtive afde1c4ca2 test data changed
somehow our test planet is now appearing as tidally locked in the database when
it wasn’t before; even though orbital period is still ≠ rotational period.
2019-12-26 23:50:51 +01:00

127 lines
5.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import unittest
from . import exception
from .systemApi import Bodies
class BodiesTest(unittest.TestCase):
def test_getBodies_HD43193(self):
json = Bodies.getBodies("HD 43193")
# system data
self.assertEqual(85920, json['id'])
self.assertEqual("HD 43193", json['name'])
# body count
self.assertEqual(17, len(json['bodies']))
# star
star = json['bodies'][0]
self.assertEqual(219074, star['id'])
self.assertEqual("HD 43193 A", star['name'])
self.assertEqual("Star", star['type'])
self.assertEqual("B (Blue-White) Star", star['subType'])
self.assertEqual(0, star['distanceToArrival'])
self.assertTrue(star['isMainStar'])
self.assertTrue(star['isScoopable'])
self.assertEqual(760, star['age'])
self.assertEqual("V", star['luminosity'])
self.assertEqual(0.443283, star['absoluteMagnitude'])
self.assertEqual(14.5625, star['solarMasses'])
self.assertEqual(5.3612057397555715, star['solarRadius'])
self.assertEqual(30995, star['surfaceTemperature'])
self.assertEqual(277.5355324074074, star['orbitalPeriod'])
self.assertEqual(0.4615586345240675, star['semiMajorAxis'])
self.assertEqual(0.275417, star['orbitalEccentricity'])
self.assertEqual(73.390816, star['orbitalInclination'])
self.assertEqual(23.460678, star['argOfPeriapsis'])
self.assertEqual(2.2797341579861112, star['rotationalPeriod'])
self.assertFalse(star['rotationalPeriodTidallyLocked'])
self.assertEqual(None, star['axialTilt'])
# planet
planet = json['bodies'][15]
self.assertEqual(311417, planet['id'])
self.assertEqual("HD 43193 CD 7 a", planet['name'])
self.assertEqual("Planet", planet['type'])
self.assertEqual("Class IV gas giant", planet['subType'])
# self.assertEqual(17963, planet['distanceToArrival']) # this sadly varies due to orbiting …
self.assertFalse(planet['isLandable'])
self.assertEqual(11.175634423255477, planet['gravity'])
self.assertEqual(1574.405762, planet['earthMasses'])
self.assertEqual(75701.896, planet['radius'])
self.assertEqual(1021, planet['surfaceTemperature'])
self.assertEqual("No volcanism", planet['volcanismType'])
self.assertEqual("No atmosphere", planet['atmosphereType'])
self.assertEqual("Not terraformable", planet['terraformingState'])
self.assertEqual(55.31602430555556, planet['orbitalPeriod'])
self.assertEqual(0.11103302421536405, planet['semiMajorAxis'])
self.assertEqual(None, planet['orbitalEccentricity'])
self.assertEqual(28.739708, planet['orbitalInclination'])
self.assertEqual(248.851364, planet['argOfPeriapsis'])
self.assertEqual(57.64743634259259, planet['rotationalPeriod'])
self.assertTrue(planet['rotationalPeriodTidallyLocked'])
self.assertEqual(0.198277, planet['axialTilt'])
def test_getBodiesById_HD43193(self):
json = Bodies.getBodiesById(85920)
# system data
self.assertEqual(85920, json['id'])
self.assertEqual("HD 43193", json['name'])
# body count
self.assertEqual(17, len(json['bodies']))
# star
star = json['bodies'][0]
self.assertEqual(219074, star['id'])
self.assertEqual("HD 43193 A", star['name'])
self.assertEqual("Star", star['type'])
self.assertEqual("B (Blue-White) Star", star['subType'])
self.assertEqual(0, star['distanceToArrival'])
self.assertTrue(star['isMainStar'])
self.assertTrue(star['isScoopable'])
self.assertEqual(760, star['age'])
self.assertEqual("V", star['luminosity'])
self.assertEqual(0.443283, star['absoluteMagnitude'])
self.assertEqual(14.5625, star['solarMasses'])
self.assertEqual(5.3612057397555715, star['solarRadius'])
self.assertEqual(30995, star['surfaceTemperature'])
self.assertEqual(277.5355324074074, star['orbitalPeriod'])
self.assertEqual(0.4615586345240675, star['semiMajorAxis'])
self.assertEqual(0.275417, star['orbitalEccentricity'])
self.assertEqual(73.390816, star['orbitalInclination'])
self.assertEqual(23.460678, star['argOfPeriapsis'])
self.assertEqual(2.2797341579861112, star['rotationalPeriod'])
self.assertFalse(star['rotationalPeriodTidallyLocked'])
self.assertEqual(None, star['axialTilt'])
# planet
planet = json['bodies'][15]
self.assertEqual(311417, planet['id'])
self.assertEqual("HD 43193 CD 7 a", planet['name'])
self.assertEqual("Planet", planet['type'])
self.assertEqual("Class IV gas giant", planet['subType'])
# self.assertEqual(17963, planet['distanceToArrival']) # this sadly varies due to orbiting …
self.assertFalse(planet['isLandable'])
self.assertEqual(11.175634423255477, planet['gravity'])
self.assertEqual(1574.405762, planet['earthMasses'])
self.assertEqual(75701.896, planet['radius'])
self.assertEqual(1021, planet['surfaceTemperature'])
self.assertEqual("No volcanism", planet['volcanismType'])
self.assertEqual("No atmosphere", planet['atmosphereType'])
self.assertEqual("Not terraformable", planet['terraformingState'])
self.assertEqual(55.31602430555556, planet['orbitalPeriod'])
self.assertEqual(0.11103302421536405, planet['semiMajorAxis'])
self.assertEqual(None, planet['orbitalEccentricity'])
self.assertEqual(28.739708, planet['orbitalInclination'])
self.assertEqual(248.851364, planet['argOfPeriapsis'])
self.assertEqual(57.64743634259259, planet['rotationalPeriod'])
self.assertTrue(planet['rotationalPeriodTidallyLocked'])
self.assertEqual(0.198277, planet['axialTilt'])
def test_wonkySystemNames(self):
Bodies.getBodies("BD+49 1280")
# FIXXME: I remember finding a system with “[]” in the name, but cant
# remember … and the search function in the usual tools arent very helpful
# :)