示例#1
0
 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)
示例#2
0
 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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
 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)
示例#8
0
 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)
示例#9
0
 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)
示例#10
0
 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)
示例#11
0
 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)
示例#12
0
 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)
示例#13
0
    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)
示例#14
0
    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)
示例#15
0
 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)
示例#16
0
 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)
示例#17
0
 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)