def __init__(self, data): quartiles = data[:] quartiles.sort() middle = Stats.median(quartiles) split = ListUtils.middleSplit(quartiles) leftBound = Stats.median(split[0]) rightBound = Stats.median(split[1]) self.__quartileBounds = [leftBound, middle, rightBound] leftSplit = ListUtils.middleSplit(split[0]) rightSplit = ListUtils.middleSplit(split[1]) self.__quartiles = [leftSplit[0], leftSplit[1], rightSplit[0], rightSplit[1]]
def testMiddleSplit_singleItem(self): self.assertEqual(ListUtils.middleSplit([1]), [[1]])
def testMiddleSplit_oldNumberOfItems(self): self.assertEqual(ListUtils.middleSplit([1, 2, 3]), [[1], [3]])
def testMiddleSplit_empty(self): self.assertEqual(ListUtils.middleSplit([]), [[]])
def testMiddleSplit_evenNumberOfItems(self): self.assertEqual(ListUtils.middleSplit([1, 2, 3, 4]), [[1, 2], [3, 4]])