def test_date_sort_newest(self): """Checks sort function accurately sorts by date and time, most recent first""" sortedDict = [] #2015-12 expectedOutput = [{ 'Distance (km)': 2.1, 'Date': '2015-12', 'Crime Category': 'Other theft' }, { 'Distance (km)': 4.0, 'Date': '2014-7', 'Crime Category': 'Other crime' }, { 'Distance (km)': 1.5, 'Date': '2014-5', 'Crime Category': 'Other crime' }, { 'Distance (km)': 4.4, 'Date': '2014-4', 'Crime Category': 'Shoplifting' }, { 'Distance (km)': 3.2, 'Date': '2014-2', 'Crime Category': 'Public order' }, { 'Distance (km)': 0.6, 'Date': '2014-1', 'Crime Category': 'Anti-social behaviour' }, { 'Distance (km)': 1.7, 'Date': '2013-11', 'Crime Category': 'Vehicle crime' }] actualOutput = sort.listOfDictSort(unsortedDict, 'Date', reverse=True, dateFormat='%Y-%m') self.assertEqual(actualOutput, expectedOutput)
def test_number_sort_desc(self): """ Checks sort function sorts numbers descending. """ sortedDict = [] expectedOutput = [{ 'Distance (km)': 4.4, 'Date': '2014-4', 'Crime Category': 'Shoplifting' }, { 'Distance (km)': 4.0, 'Date': '2014-7', 'Crime Category': 'Other crime' }, { 'Distance (km)': 3.2, 'Date': '2014-2', 'Crime Category': 'Public order' }, { 'Distance (km)': 2.1, 'Date': '2015-12', 'Crime Category': 'Other theft' }, { 'Distance (km)': 1.7, 'Date': '2013-11', 'Crime Category': 'Vehicle crime' }, { 'Distance (km)': 1.5, 'Date': '2014-5', 'Crime Category': 'Other crime' }, { 'Distance (km)': 0.6, 'Date': '2014-1', 'Crime Category': 'Anti-social behaviour' }] actualOutput = sort.listOfDictSort(unsortedListOfDict=unsortedDict, key='Distance (km)', reverse=True) self.assertEqual(actualOutput, expectedOutput)