def test_second_number_is_greater(self): """ The second number is greater than the first. """ with self.assertRaises(RangeError): parse_range('2..1') with self.assertRaises(RangeError): parse_range('2..2')
def test_large_numbers(self): """ Large numbers with zero padding on the left. """ self.assertEqual( len(parse_range('040..050')), 10)
def test_complex_range(self): """ Should result in more than one. """ self.assertEqual( parse_range('4..8'), [(4, 5), (5, 6), (6, 7), (7, 8)])
def test_simple_range(self): """ Should result in just one test set. """ self.assertEqual( parse_range('1..2'), [(1, 2)])
def test(self, argv): """ Run the tests for a plugin. """ plugin = argv.plugin test_range = argv.range verbose = argv.verbose with self.out() as out: if test_range: test_range = parse_range(test_range) try: ptr = PluginTestRunner(plugin) results = ptr.run(test_range=test_range) reporter = PluginTestReporter(results) test_results = reporter.dumps(verbose=verbose).splitlines() failures = [i for i in results if isinstance(i, FailureResult)] if failures: # Raise as an error so the status code will be non-zero raise CommandError('\n'.join(test_results)) # No failures, ok to send this to stdout out.extend(test_results) except ExpectationError as e: raise CommandError(str(e))
def test_large_numbers(self): """ Large numbers with zero padding on the left. """ self.assertEqual(len(parse_range('040..050')), 10)
def test_complex_range(self): """ Should result in more than one. """ self.assertEqual(parse_range('4..8'), [(4, 5), (5, 6), (6, 7), (7, 8)])
def test_simple_range(self): """ Should result in just one test set. """ self.assertEqual(parse_range('1..2'), [(1, 2)])
def test_invalid_numbers(self): """ Checks for numbers. """ with self.assertRaises(RangeError): parse_range('a..3')
def test_missing_dots(self): """ Raises an error if the two dots are missing. """ with self.assertRaises(RangeError): parse_range('1.3')