def test_sortedranklist(self): """ Type of inputs test for if input rank list is not sorted then output results in a unsorted MIS-USE CASE and use case """ # misuse case actual = psd.ranksetter([("456098", 2), ("567789", 3), ("560089", 1)], 5, "234561") expected = None self.assertEqual(expected, actual, "unsorted rank list as input") # use case actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], 5, "234561") expected = [("234561", 5), ("456098", 4), ("567789", 3)] self.assertEqual(expected, actual, "sorted rank list as input")
def test_parameters(self): """ test input parameter values lengths and types misuses """ expected = None # type tests actual = psd.ranksetter((("456098", 4), ("567789", 3), ("560089", 2)), 5, "234561") self.assertEqual(expected, actual, "rank list is of tuple type") actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], "5", "234561") self.assertEqual(expected, actual, "no_delivery is of type string") actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], 5, 234561) self.assertEqual(expected, actual, "postal code is of type integer") actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], 5, "23456a") self.assertEqual(expected, actual, "postal code is not a string of type digit") # length tests actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], 5, "2345617") self.assertEqual(expected, actual, "postal code is more than 6 digits") actual = psd.ranksetter([("456098", 4), ("567789", 3)], 5, "234561") self.assertEqual(expected, actual, "rank list length is less than 3") # parameters value tests there can be even few more tests actual = psd.ranksetter([("456098", 4), ("567789", 3), ("560089", 2)], -5, "234561") self.assertEqual(expected, actual, "no_delivery is < 0")