def test_map_clear(self): a = FloatArray([1, 2, 3, 4]) b = FloatArray([2, 4, 6, 8]) v = SparseMap({1: a, 3: b}) a.free() b.free() v.clear() self.assertEqual(v.byte_length(), 0) v.free()
def test_use_map_after_free_error(self): s = SparseMap() s.free() freed_array = FloatArray() freed_array.free() tmp_array = FloatArray() tmp = SparseMap() with self.assertRaises(GaugedUseAfterFreeError): s.append(1, tmp_array) with self.assertRaises(GaugedUseAfterFreeError): tmp.append(1, freed_array) with self.assertRaises(GaugedUseAfterFreeError): s.slice() with self.assertRaises(GaugedUseAfterFreeError): s.concat(tmp) with self.assertRaises(GaugedUseAfterFreeError): tmp.concat(s) with self.assertRaises(GaugedUseAfterFreeError): s.byte_length() with self.assertRaises(GaugedUseAfterFreeError): s.buffer() with self.assertRaises(GaugedUseAfterFreeError): s.clear() with self.assertRaises(GaugedUseAfterFreeError): s.first() with self.assertRaises(GaugedUseAfterFreeError): s.last() with self.assertRaises(GaugedUseAfterFreeError): s.sum() with self.assertRaises(GaugedUseAfterFreeError): s.min() with self.assertRaises(GaugedUseAfterFreeError): s.max() with self.assertRaises(GaugedUseAfterFreeError): s.mean() with self.assertRaises(GaugedUseAfterFreeError): s.stddev() with self.assertRaises(GaugedUseAfterFreeError): s.count() with self.assertRaises(GaugedUseAfterFreeError): s.percentile(50) with self.assertRaises(GaugedUseAfterFreeError): list(s.iteritems()) tmp_array.free() tmp.free()