def test_sortObjsByInt(self): dataObjs = self.dataObjs qlObjs = QueryableListObjs(self.dataObjs) sortedByA = qlObjs.sort_by('a') sortedByAList = list(sortedByA) expectedList = [dataObjs[0], dataObjs[3], dataObjs[2], dataObjs[1]] assert sortedByAList == expectedList, 'Sort by field "a" failed to return expected order.\nGot: %s\nExpected: %s\n' % ( repr(self._get_list_of_values(sortedByAList, 'a')), repr(self._get_list_of_values(expectedList, 'a'))) assert dataObjs == self.dataObjsCopy, 'Expected sort_by to not modify original list' assert isinstance( sortedByA, QueryableListObjs ), 'Expected return to be a QueryableListObjs instance. Got: %s' % ( sortedByA.__class__.__name__, ) sortedByARev = qlObjs.sort_by('a', reverse=True) sortedByARevList = list(sortedByARev) expectedRevList = list(reversed(expectedList)) assert sortedByARevList == expectedRevList, 'Reverse sort by field "a" failed to return expected order.\nGot: %s\nExpected: %s\n' % ( repr(self._get_list_of_values(sortedByARevList, 'a')), repr(self._get_list_of_values(expectedRevList, 'a'))) assert dataObjs == self.dataObjsCopy, 'Expected sort_by to not modify original list' assert isinstance( sortedByARev, QueryableListObjs ), 'Expected return to be a QueryableListObjs instance. Got: %s' % ( sortedByARev.__class__.__name__, )