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)