def test_invalid_return_dates(self): args = ( ('BLL', 'BOJ', '01.09.2019', '1', '-return-date=13.10.2019'), ('BLL', 'BOJ', '10.06.2019', '4', '-return_date=22/08/2019'), ('BLL', 'BOJ', '01.07.2019', '4', '-return_date=14.07.19'), ) for arguments in args: with self.subTest(arguments): with self.assertRaises(SystemExit): source.parse_arguments(arguments)
def test_return_valid_args_one_way(self): args = ('BOJ', 'BLL', '15.07.2019', '2') date = datetime.strptime('15.07.2019', '%d.%m.%Y') expected_args = argparse.Namespace(dep_city='BOJ', dest_city='BLL', dep_date=date, passengers=2, return_date=None, verbose=False) self.assertEqual(source.parse_arguments(args), expected_args)
def test_return_valid_args_two_way(self): args = ('CPH', 'BOJ', '31.07.2019', '3', '-return_date=05.08.2019') date = datetime.strptime('31.07.2019', '%d.%m.%Y') return_date = datetime.strptime('05.08.2019', '%d.%m.%Y') expected_args = argparse.Namespace(dep_city='CPH', dest_city='BOJ', dep_date=date, passengers=3, return_date=return_date, verbose=False) self.assertEqual(source.parse_arguments(args), expected_args)
def test_no_args(self): with self.assertRaises(SystemExit): source.parse_arguments(list())
def test_too_little_args(self): args = ('CPH', 'B0J', '01.07.2019') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_too_many_args(self): args = ('CPH', 'B0J', '01.07.2019', '3', '-return_date=03.08.2019', '0') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_invalid_passengers(self): args = ('BLL', 'BOJ', '01.09.2019', '0') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_invalid_dep_date(self): args = ('CPH', 'BOJ', '01.02.2019', '1') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_invalid_dest_city(self): args = ('CPH', 'B0J', '01.07.2019', '3') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_invalid_dep_city(self): args = ('123', 'BOJ', '01.07.2019', '2') with self.assertRaises(SystemExit): source.parse_arguments(args)
def test_show_help_message(self): with self.assertRaises(SystemExit): source.parse_arguments(['-h'])