def testBreakListIntoChunks(self): """ breakListIntoChunks tests """ # empty list aList = [] self.assertEqual(List.breakListIntoChunks(aList, 5), []) # negative number of chunks try: List.breakListIntoChunks([], -2) except Exception, val: self.assertEqual(isinstance(val, RuntimeError), True) self.assertEqual(str(val), "chunkSize cannot be less than 1")
def testBreakListIntoChunks( self ): """ breakListIntoChunks tests """ # empty list aList = [] self.assertEqual( List.breakListIntoChunks(aList, 5), []) # negative number of chunks try: List.breakListIntoChunks([], -2) except Exception, val: self.assertEqual( isinstance(val, RuntimeError), True ) self.assertEqual( str(val), "chunkSize cannot be less than 1" )
def testBreakListIntoChunks(self): """ breakListIntoChunks tests """ # empty list aList = [] self.assertEqual(List.breakListIntoChunks(aList, 5), []) # negative number of chunks try: List.breakListIntoChunks([], -2) except Exception as val: self.assertEqual(isinstance(val, RuntimeError), True) self.assertEqual(str(val), "chunkSize cannot be less than 1") # normal behaviour aList = range(10) self.assertEqual(List.breakListIntoChunks(aList, 5), [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) # and once again this time with a rest aList = range(10) self.assertEqual(List.breakListIntoChunks(aList, 4), [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]]) # almost empty list, too many chunks aList = [1] self.assertEqual(List.breakListIntoChunks(aList, 2), [[1]])
def testBreakListIntoChunks(self): """ breakListIntoChunks tests """ # empty list aList = [] self.assertEqual(List.breakListIntoChunks(aList, 5), []) # negative number of chunks try: List.breakListIntoChunks([], -2) except Exception as val: self.assertEqual(isinstance(val, RuntimeError), True) self.assertEqual(str(val), "chunkSize cannot be less than 1") # normal behaviour aList = range(10) self.assertEqual(List.breakListIntoChunks(aList, 5), [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) # and once again this time with a rest aList = range(10) self.assertEqual(List.breakListIntoChunks(aList, 4), [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]]) # almost empty list, too many chunks aList = [1] self.assertEqual(List.breakListIntoChunks(aList, 2), [[1]])
class ListTestCase( unittest.TestCase ): """py:class ListTestCase Test case for DIRAC.Core.Utilities.List module. """ def testSorted( self ): """ sortList tests """ # empty list aList = [] self.assertEqual( List.sortList(aList), []) # already sorted aList = [ "a", "b", "c" ] self.assertEqual( List.sortList(aList), ["a", "b", "c"] ) # unsorted aList = [ "a", "c", "b" ] self.assertEqual( List.sortList(aList), ["a", "b", "c"]) # invert aList = [ "a", "b", "c" ] self.assertEqual( List.sortList(aList, invert=True), ["c", "b", "a"] ) def testUniqueElements( self ): """ uniqueElements tests """ # empty list aList = [] self.assertEqual( List.uniqueElements(aList), []) # redundant elements aList = [1, 1, 2, 3] self.assertEqual( List.uniqueElements( aList ), [1, 2, 3] ) def testAppendUnique( self ): """ appendUnique tests """ # empty aList = [] List.appendUnique( aList, None) self.assertEqual( aList, [None] ) # redundant element aList = [ 1, 2, 3 ] List.appendUnique( aList, 1 ) self.assertEqual( aList, [1, 2, 3] ) # all unique aList = [ 1, 2 ] List.appendUnique( aList, 3 ) self.assertEqual( aList, [1, 2, 3] ) def testRandomize( self ): """ randomize tests """ # empty list aList = [] randList = List.randomize(aList) self.assertEqual( randList, [] ) # non empty aList = [1, 2, 3] randList = List.randomize( aList ) self.assertEqual( len(aList), len(randList) ) for x in aList: self.assertEqual(x in randList, True) for x in randList: self.assertEqual(x in aList, True) def testPop( self ): """ pop tests """ # empty list aList = [] x = List.pop(aList, 1) self.assertEqual( aList, [] ) self.assertEqual( x, None ) # pop aList = [ 1, 2, 3 ] x = List.pop(aList, 2) self.assertEqual( x, 2 ) self.assertEqual( aList, [1, 3]) def testStringListToString( self ): """ stringListToString tests """ # empty list aList = [] aStr = List.stringListToString( aList ) self.assertEqual( aStr, "") # not string elements (should it raise an exception???) aList = ["a", 1] aStr = List.stringListToString( aList ) self.assertEqual( aStr, "'a','1'") # normal list aList = ["a", "b", "c"] aStr = List.stringListToString( aList ) self.assertEqual( aStr, "'a','b','c'") def testIntListToString( self ): """ intListToString """ # empty list aList = [ ] aStr = List.intListToString( aList ) self.assertEqual( aStr, "") # int list aList = [ 1, 2, 3 ] aStr = List.intListToString( aList ) self.assertEqual( aStr, "1,2,3") # mixture elements (should it raise an exception???) aList = ["1", 2, 3] aStr = List.intListToString( aList ) self.assertEqual( aStr, "1,2,3") def testRemoveEmptyElements( self ): """ removeEmptyElements tests """ # empty list aList = [] self.assertEqual( List.removeEmptyElements(aList), [] ) # None or "" (empty string) in aList = [ "", None, 1 ] self.assertEqual( List.removeEmptyElements(aList), [1]) def testFromChar( self ): """ fromChar tests """ # empty string aStr = "" self.assertEqual( List.fromChar(aStr, "-"), []) # wrong sep (should it raise an exception???) aStr = "a:b:c" self.assertEqual( List.fromChar(aStr, "-"), ["a:b:c"]) # norman behavior aStr = "a:b:c" self.assertEqual( List.fromChar( aStr, ":"), ["a", "b", "c"] ) # only sep aStr = "," self.assertEqual( List.fromChar(aStr, ","), [] ) # too many separators aStr = "a,,b,,c,,," self.assertEqual( List.fromChar(aStr, ","), ["a", "b", "c"] ) def testBreakListIntoChunks( self ): """ breakListIntoChunks tests """ # empty list aList = [] self.assertEqual( List.breakListIntoChunks(aList, 5), []) # negative number of chunks try: List.breakListIntoChunks([], -2) except Exception, val: self.assertEqual( isinstance(val, RuntimeError), True ) self.assertEqual( str(val), "chunkSize cannot be less than 1" ) # normal behaviour aList = range(10) self.assertEqual( List.breakListIntoChunks(aList, 5), [ [0, 1, 2, 3, 4], [5, 6, 7, 8, 9] ] ) # and once again this time with a rest aList = range(10) self.assertEqual( List.breakListIntoChunks(aList, 4), [ [0, 1, 2, 3], [4, 5, 6, 7], [8, 9] ]) # almost empty list, too many chunks aList = [1] self.assertEqual( List.breakListIntoChunks(aList, 2), [ [ 1 ] ] )