w3resource

Python unit test: Check list sorting

Python Unit test: Exercise-2 with Solution

Write a Python unit test program to check if a list is sorted in ascending order.

Sample Solution:

Python Code:

# Import the 'unittest' module for writing unit tests.
import unittest

# Define a function 'is_sorted_ascending' to check if a list is sorted in ascending order.
def is_sorted_ascending(lst):
    # Check if all elements at index i are less than or equal to elements at index i+1.
    return all(lst[i] <= lst[i+1] for i in range(len(lst)-1)

# Define a test case class 'TestSortedAscending' that inherits from 'unittest.TestCase'.
class TestSortedAscending(unittest.TestCase):
    # Define a test method 'test_sorted_list' to test a sorted list.
    def test_sorted_list(self):
        # Uncomment one of the 'lst' lines for testing a sorted or unsorted list.
        #lst = [5, 7, 2, 8, 1, 9]
        lst = [1, 2, 3, 4, 5, 6, 7]
        print("Sorted list: ", lst)
        # Assert that the list is sorted in ascending order.
        self.assertTrue(is_sorted_ascending(lst), "The list is not sorted in ascending order")

    # Define a test method 'test_unsorted_list' to test an unsorted list.
    def test_unsorted_list(self):
        # Uncomment one of the 'lst' lines for testing a sorted or unsorted list.
        #lst = [1, 2, 3]
        lst = [5, 7, 2, 8, 1, 9]
        print("Unsorted list: ", lst)
        # Assert that the list is not sorted in ascending order.
        self.assertFalse(is_sorted_ascending(lst), "The list is sorted in ascending order")

# Check if the script is run as the main program.
if __name__ == '__main__':
    # Run the test cases using 'unittest.main()'.
    unittest.main()

Sample Output:

Ran 2 tests in 0.001s
FAILED (failures=2)
Sorted list:  [5, 7, 2, 8, 1, 9]
Unsorted list:  [1, 2, 3]
Ran 2 tests in 0.003s
OK
Sorted list:  [1, 2, 3, 4, 5, 6, 7]
Unsorted list:  [5, 7, 2, 8, 1, 9]

Explanation:

In the above exercise, is_sorted_ascending(lst) function takes a list as input and returns True if the list is sorted in ascending order, and False otherwise. The TestSortedAscending class inherits from unittest.TestCase, and defines two test methods: test_sorted_list and test_unsorted_list.

Flowchart:

Flowchart: Python - Check list sorting.
Flowchart: Python - Check list sorting.

Previous: Check prime number.
Next: Check equality of two lists.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/python-exercises/unittest/python-unittest-exercise-2.php