def test_new_triggers_resize(self): buffer = ChunkBuffer(2, TURTLE_MODEL_DATA_SIZE) buffer.new() buffer.new() self.assertEqual(buffer.size, 2) self.assertEqual(buffer.count, 2) buffer.new() self.assertEqual(buffer.size, 4) self.assertEqual(buffer.count, 3)
def test_resize(self): buffer = ChunkBuffer(2, TURTLE_MODEL_DATA_SIZE) buffer.new(MODEL_ONES) buffer.new(MODEL_TWOS) buffer.resize(4) self.assertEqual(buffer.size, 4) self.assertEqual(len(buffer.data), 4 * TURTLE_MODEL_DATA_SIZE) self.assert_turtle_data(buffer, 0, MODEL_ONES) self.assert_turtle_data(buffer, 1, MODEL_TWOS) self.assert_turtle_data(buffer, 2, MODEL_ZEROS) self.assert_turtle_data(buffer, 3, MODEL_ZEROS)
def test_remove_then_add(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) buffer.new(MODEL_ONES) buffer.new(MODEL_TWOS) buffer.new(MODEL_THREES) buffer.remove(2) self.assertEqual(buffer.count, 2) # check data was zeroed self.assert_turtle_data(buffer, 2, MODEL_ZEROS) buffer.new([4] * TURTLE_MODEL_DATA_SIZE) self.assertEqual(buffer.count, 3) # check reuses previously removed turtle's space self.assert_turtle_data(buffer, 2, [4] * TURTLE_MODEL_DATA_SIZE)
def test_remove_middle(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) buffer.new(MODEL_ONES) buffer.new(MODEL_TWOS) buffer.new(MODEL_THREES) moved = buffer.remove(1) self.assertEqual(buffer.count, 2) self.assertEqual(moved, 2) self.assert_turtle_data(buffer, 0, MODEL_ONES) self.assert_turtle_data(buffer, 1, MODEL_THREES) self.assert_turtle_data(buffer, 2, MODEL_ZEROS)
def test_mutlple_new(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) buffer.new() self.assertEqual(buffer.count, 1) buffer.new() self.assertEqual(buffer.count, 2)
def test_new_with_init(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) init = list(reversed(range(TURTLE_MODEL_DATA_SIZE))) data = buffer.new(init) self.assertEqual(len(data), TURTLE_MODEL_DATA_SIZE) self.assertEqual(list(data), init)
def test_new(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) data = buffer.new() self.assertEqual(len(data), TURTLE_MODEL_DATA_SIZE) self.assertEqual(list(data), MODEL_ZEROS) self.assertEqual(buffer.count, 1)
def test_sized_correctly(self): buffer = ChunkBuffer(4, TURTLE_MODEL_DATA_SIZE) self.assertEqual(len(buffer.data), 4 * TURTLE_MODEL_DATA_SIZE) self.assertEqual(buffer.count, 0) self.assertEqual(buffer.size, 4)
def make_slices(self, size, array_size=20): buffer = ChunkBuffer(array_size, TURTLE_MODEL_DATA_SIZE) for i in range(array_size): buffer.new([i + 1] * TURTLE_MODEL_DATA_SIZE) return buffer.slice(size)
def make_slices(self, size, array_size=20): buffer = ChunkBuffer(array_size, TURTLE_MODEL_DATA_SIZE) for i in range(array_size): buffer.new([i+1] * TURTLE_MODEL_DATA_SIZE) return buffer.slice(size)