def test100_100BodyIsCaseIndependent(self): self.setParm('body','betelgeuse') self.setParm('date','2016-01-17') self.setParm('time','03:15:42') actualResult = nav.predict(self.inputDictionary) self.assertEquals(actualResult['long'], '75d53.6') self.assertEquals(actualResult['lat'], '7d24.3')
def test100_090ShouldReturnCorrectLongAndLat(self): self.setParm('body','Aldebaran') self.setParm('date','2016-01-17') self.setParm('time','03:15:42') actualResult = nav.predict(self.inputDictionary) self.assertEquals(actualResult['long'], '95d41.6') self.assertEquals(actualResult['lat'], '16d32.3')
def test100_095ShouldReturnCorrectLongAndLat(self): self.setParm('body','Betelgeuse') self.setParm('date','2016-01-17') self.setParm('time','03:15:42') actualResult = nav.predict(self.inputDictionary) self.assertEquals(actualResult['long'], '75d53.6') self.assertEquals(actualResult['lat'], '7d24.3')
def testMandatoryInformationMissing(self): actualResult = nav.predict({'op': 'predict'}) expectedResult = { 'error': 'mandatory information is missing', 'op': 'predict' } self.assertDictEqual(actualResult, expectedResult)
def dispatch(values=None): #Validate param if (values == None): return {'error': 'parameter is missing'} if (not (isinstance(values, dict))): return {'error': 'parameter is not a dictionary'} if (not ('op' in values)): values['error'] = 'no op is specified' return values #Perform designated function if (values['op'] == 'adjust'): result = adjust.adjust(values) return result elif (values['op'] == 'predict'): result = predict.predict(values) return result elif (values['op'] == 'correct'): result = correct.correct(values) return result elif (values['op'] == 'locate'): result = locate.locate(values) return result else: values['error'] = 'op is not a legal operation' return values
def testMissingBody(self): actualResult = nav.predict({ 'op': 'predict', 'date': '2016-01-17', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'date': '2016-01-17', 'time': '03:15:42', 'error': 'mandatory information missing' } self.assertDictEqual(actualResult, expectedResult)
def testMinutesLessThan00(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:-01:10' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:-01:10', 'error': 'invalid time' } self.assertDictEqual(actualResult, expectedResult)
def testSecondsGreaterThan60(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:15:99' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:15:99', 'error': 'invalid time' } self.assertDictEqual(actualResult, expectedResult)
def testInvalidBodyType(self): actualResult = nav.predict({ 'op': 'predict', 'body': 12, 'date': '2016-01-17', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 12, 'date': '2016-01-17', 'time': '03:15:42', 'error': 'star not in catalog' } self.assertDictEqual(actualResult, expectedResult)
def testDayLessThan01(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2001-01-00', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2001-01-00', 'time': '03:15:42', 'error': 'invalid date' } self.assertDictEqual(actualResult, expectedResult)
def testYearGreaterThan2100(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2101-01-17', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2101-01-17', 'time': '03:15:42', 'error': 'invalid date' } self.assertDictEqual(actualResult, expectedResult)
def testHourGraterThan60(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '24:59:10' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '24:59:10', 'error': 'invalid time' } self.assertDictEqual(actualResult, expectedResult)
def testForValidFeburaryDay(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-02-29', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-02-29', 'time': '03:15:42', 'long': '118d16.5', 'lat': '7d24.3' } self.assertDictEqual(actualResult, expectedResult)
def testHappyPathTest3(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Gacrux', 'date': '2017-04-10', 'time': '14:22:36' }) expectedResult = { 'op': 'predict', 'body': 'Gacrux', 'date': '2017-04-10', 'time': '14:22:36', 'long': '226d37.2', 'lat': '-57d11.9' } self.assertDictEqual(actualResult, expectedResult)
def testHappyPath2(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 'Betelgeuse', 'date': '2016-01-17', 'time': '03:15:42', 'long': '75d53.6', 'lat': '7d24.3' } self.assertDictEqual(actualResult, expectedResult)
def testFirstHappyPath(self): actualResult = nav.predict({ 'op': 'predict', 'body': 'Aldebaran', 'date': '2016-01-17', 'time': '03:15:42' }) expectedResult = { 'op': 'predict', 'body': 'Aldebaran', 'date': '2016-01-17', 'time': '03:15:42', 'long': '95d41.6', 'lat': '16d32.3' } self.assertDictEqual(actualResult, expectedResult)