def test_sizeLimit(self): buffer = ProductBuffer(100) self.assertEqual(buffer.sizeLimit(), 100) buffer.setSizeLimit(50) self.assertEqual(buffer.sizeLimit(), 50) # setSizeLimit also removes products if necessary. buffer = ProductBuffer(oversizecut=1, productDrop=lambda: setattr(self, "triggered", True)) buffer.append([self.product]*10) buffer.append([self.product]*10) buffer.setSizeLimit(10) self.assertTrue(self.triggered) self.assertEqual(buffer.sum(), 10) self.assertEqual(len(buffer), 1)