def test_find_maximum__if_non_list_value__exception_thrown(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with float value 3. Call find_maximum() Expected result: Exception thrown """ sortings = Sortings() sortings.list = 20.12 with self.assertRaises(Exception) as actual: sortings.find_maximum() self.assertEqual("Can not find maximum for object of type not 'list'", actual.exception.message)
def test_find_maximum__if_list_of_lists__exception_thrown(self): """ Scenario: 1. Create object of class Sortings 2. Initialize list by list of two lists 3. Call find_maximum() Expected result: Exception thrown """ sorting = Sortings() sorting.list = [[1, 3, 4, 5, 0], [1, 2, 4, 6, 0, 9]] with self.assertRaises(Exception) as actual: sorting.find_maximum() self.assertEqual("An input list should contain only numeric values", actual.exception.message)
def test__find_maximum__if_none__exception_thrown(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with None 3. Call find_maximum() Expected result: Exception is thrown """ sortings = Sortings() sortings.list = None with self.assertRaises(Exception) as actual: sortings.find_maximum() self.assertEqual("Can not find maximum in a list 'None'", actual.exception.message)
def test__find_maximum__if_empty_list__exception_thrown(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with an empty list 3. Call find_maximum() Expected result: Exception is thrown """ sortings = Sortings() sortings.list = [] with self.assertRaises(Exception) as exc: sortings.find_maximum() self.assertEqual("Can not find maximum in an empty list", exc.exception.message)
def test__find_maximum__if_all_values_are_identical__returns_one_value(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with equal values 3. Call find_maximum() Expected result: Single initialized value returned """ sortings = Sortings() sortings.list = [2, 2, 2, 2, 2, 2] actual_result = sortings.find_maximum() self.assertEqual(2, actual_result)
def test__find_maximum__if_one_value__returns_this_value(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with single value 3. Call find_maximum() Expected result: This value is returned """ sortings = Sortings() sortings.list = [0] actual_result = sortings.find_maximum() self.assertEqual(0, actual_result)
def test__find_maximum__if_float_values__returns_maximum(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with float values 3. Call find_minimum() Expected result: The minimal value returned """ sortings = Sortings() sortings.list = [0.333, 0, 1 / 3, 1.0 / 3.0] actual_result = sortings.find_maximum() self.assertEqual(1.0 / 3.0, actual_result)
def test__find_maximum__if_negative_values__returns_maximum(self): """ Scenario: 1. Create object of Sortings class 2. Initialize list with negative values 3. Call find_maximum() Expected result: Maximum value returned """ sortings = Sortings() sortings.list = [-2, 2, -1, 0] actual_result = sortings.find_maximum() self.assertEqual(2, actual_result)