def test_passes_on_unyielding_generator(self): """Test that assert_empty passes on an 'empty' generator.""" def yield_nothing(): if False: yield 0 assertions.assert_empty(yield_nothing())
def test_fails_on_infinite_generator(self): """Tests that assert_empty fails on an infinite generator.""" def yes(): while True: yield 'y' with assertions.assert_raises(AssertionError): assertions.assert_empty(yes())
def test_max_elements_to_print_eq_0_means_no_sample_message(self): """Tests that when max_elements_to_print is 0, there is no sample in the error message.""" iterable = [1, 2, 3] expected_message = "iterable %s was unexpectedly non-empty." % iterable def message_has_no_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that(AssertionError, message_has_no_sample): assertions.assert_empty(iterable, max_elements_to_print=0)
def test_max_elements_to_print_eq_0_means_no_sample_message(self): """Tests that when max_elements_to_print is 0, there is no sample in the error message.""" iterable = [1, 2, 3] expected_message = "iterable %s was unexpectedly non-empty." % iterable def message_has_no_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that( AssertionError, message_has_no_sample): assertions.assert_empty(iterable, max_elements_to_print=0)
def test_max_elements_to_print_eq_len_means_whole_iterable_sample_message(self): """ Tests that when max_elements_to_print is equal to the length of the whole iterable, the whole iterable is printed. """ elements = [1, 2, 3, 4, 5] iterable = (i for i in elements) expected_message = "iterable %s was unexpectedly non-empty. elements: %s" \ % (iterable, elements) def message_has_whole_iterable_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that( AssertionError, message_has_whole_iterable_sample): assertions.assert_empty(iterable, max_elements_to_print=len(elements))
def test_max_elements_to_print_lt_len_means_partial_iterable_sample_message(self): """ Tests that when max_elements_to_print is less than the length of the whole iterable, the first max_elements_to_print elements are printed. """ elements = [1, 2, 3, 4, 5] iterable = (i for i in elements) max_elements_to_print = len(elements) - 1 expected_message = "iterable %s was unexpectedly non-empty. first %i elements: %s" \ % (iterable, max_elements_to_print, elements[:max_elements_to_print]) def message_has_whole_iterable_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that( AssertionError, message_has_whole_iterable_sample): assertions.assert_empty(iterable, max_elements_to_print=max_elements_to_print)
def test_max_elements_to_print_eq_len_means_whole_iterable_sample_message( self): """ Tests that when max_elements_to_print is equal to the length of the whole iterable, the whole iterable is printed. """ elements = [1, 2, 3, 4, 5] iterable = (i for i in elements) expected_message = "iterable %s was unexpectedly non-empty. elements: %s" \ % (iterable, elements) def message_has_whole_iterable_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that( AssertionError, message_has_whole_iterable_sample): assertions.assert_empty(iterable, max_elements_to_print=len(elements))
def test_max_elements_to_print_lt_len_means_partial_iterable_sample_message( self): """ Tests that when max_elements_to_print is less than the length of the whole iterable, the first max_elements_to_print elements are printed. """ elements = [1, 2, 3, 4, 5] iterable = (i for i in elements) max_elements_to_print = len(elements) - 1 expected_message = "iterable %s was unexpectedly non-empty. first %i elements: %s" \ % (iterable, max_elements_to_print, elements[:max_elements_to_print]) def message_has_whole_iterable_sample(exception): assertions.assert_equal(str(exception), expected_message) with assertions.assert_raises_such_that( AssertionError, message_has_whole_iterable_sample): assertions.assert_empty( iterable, max_elements_to_print=max_elements_to_print)
def test_fails_on_nonempty_list(self): """Test that assert_empty fails on a nonempty list.""" with assertions.assert_raises(AssertionError): assertions.assert_empty([0])
def test_passes_on_empty_list(self): """Test that assert_empty passes on an empty list.""" assertions.assert_empty([])
def test_fails_on_nonempty_tuple(self): """Test that assert_empty fails on a nonempty tuple.""" with assertions.assert_raises(AssertionError): assertions.assert_empty((0, ))
def test_fails_on_nonempty_tuple(self): """Test that assert_empty fails on a nonempty tuple.""" with assertions.assert_raises(AssertionError): assertions.assert_empty((0,))
def test_passes_on_empty_tuple(self): """Test that assert_empty passes on an empty tuple.""" assertions.assert_empty(())