def test_is_sorted_on_sorted_tuples(self): # Positive test cases (examples) with lists of sorted tuples assert is_sorted([(3, 5)]) is True # Single item assert is_sorted([(3, 'A')]) is True # Single item assert is_sorted([('A', 3)]) is True # Single item assert is_sorted([('A', 'B')]) is True # Single item assert is_sorted([(3, 5), (3, 5)]) is True # Duplicate items assert is_sorted([(3, 'A'), (3, 'A')]) is True # Duplicate items assert is_sorted([('A', 3), ('A', 3)]) is True # Duplicate items assert is_sorted([('A', 'B'), ('A', 'B')]) is True # Duplicate items assert is_sorted([('A', 3), ('B', 5)]) is True # Both items sorted assert is_sorted([('A', 3), ('B', 3)]) is True # First item sorted assert is_sorted([('A', 3), ('A', 5)]) is True # Second item sorted assert is_sorted([(3, 'A'), (5, 'B')]) is True # Both items sorted assert is_sorted([(3, 'A'), (5, 'A')]) is True # First item sorted assert is_sorted([(3, 'A'), (3, 'B')]) is True # Second item sorted
def test_is_sorted_on_unsorted_strings(self): # Negative test cases (counterexamples) with lists of unsorted strings assert is_sorted(['B', 'A']) is False assert is_sorted(['A', 'B', 'A']) is False assert is_sorted(['C', 'B', 'A']) is False
def test_is_sorted_on_sorted_strings(self): # Positive test cases (examples) with lists of sorted strings assert is_sorted(['A']) is True # Single item is trivially sorted assert is_sorted(['A', 'A']) is True # Duplicate items are in order assert is_sorted(['A', 'B']) is True assert is_sorted(['A', 'B', 'C']) is True
def test_is_sorted_on_unsorted_integers(self): # Negative test cases (counterexamples) with lists of unsorted integers assert is_sorted([5, 3]) is False assert is_sorted([3, 5, 3]) is False assert is_sorted([7, 5, 3]) is False
def test_is_sorted_on_sorted_tuples(self): # Positive test cases (examples) with lists of sorted tuples assert is_sorted([(3, 5)]) is True # Single item assert is_sorted([(3, 'A')]) is True # Single item assert is_sorted([('A', 3)]) is True # Single item assert is_sorted([('A', 'B')]) is True # Single item assert is_sorted([(3, 5), (3, 5)]) is True # Duplicate items assert is_sorted([(3, 'A'), (3, 'A')]) is True # Duplicate items assert is_sorted([('A', 3), ('A', 3)]) is True # Duplicate items assert is_sorted([('A', 'B'), ('A', 'B')]) is True # Duplicate items assert is_sorted([('A', 3), ('B', 5)]) is True # Both items sorted assert is_sorted([('A', 3), ('B', 3)]) is True # First item sorted assert is_sorted([('A', 3), ('A', 5)]) is True # Second item sorted assert is_sorted([(3, 'A'), (5, 'B')]) is True # Both items sorted assert is_sorted([(3, 'A'), (5, 'A')]) is True # First item sorted assert is_sorted([(3, 'A'), (3, 'B')]) is True # Second item sorted assert is_sorted([(3, 4), (4, 5)]) is True # Just ints assert is_sorted([('A', 9), ('B', 9)]) is True # Same digit, different letters assert is_sorted([(-2, -1), (1, 2)]) is True # Negatives and positives
def test_is_sorted_on_sorted_tuples(self): # Positive test cases (examples) with lists of sorted tuples assert is_sorted([(3, 5)]) is True # Single item assert is_sorted([(3, 'A')]) is True # Single item assert is_sorted([('A', 3)]) is True # Single item assert is_sorted([('A', 'B')]) is True # Single item assert is_sorted([(3, 5), (3, 5)]) is True # Duplicate items assert is_sorted([(3, 'A'), (3, 'A')]) is True # Duplicate items assert is_sorted([('A', 3), ('A', 3)]) is True # Duplicate items assert is_sorted([('A', 'B'), ('A', 'B')]) is True # Duplicate items assert is_sorted([('A', 3), ('B', 5)]) is True # Both items sorted assert is_sorted([('A', 3), ('B', 3)]) is True # First item sorted assert is_sorted([('A', 3), ('A', 5)]) is True # Second item sorted assert is_sorted([(3, 'A'), (5, 'B')]) is True # Both items sorted assert is_sorted([(3, 'A'), (5, 'A')]) is True # First item sorted assert is_sorted([(3, 'A'), (3, 'B')]) is True # Second item sorted # TODO: Write more positive test cases with assert is True statements assert is_sorted([(-3, 'A'), (-3, 'A'), (3, 'B'), (5, 'B')]) is True #testing negative with tuples assert is_sorted([('a', 'A'), ('b', 'A'), ('c', 'B'), ('d', 'B')]) is True #testing upper and lower case in tuple assert is_sorted([('A', 'a'), ('B', 'b'), ('C', 'c'), ('D', 'd')]) is True