예제 #1
0
 def test_buffer_resize(self):
     data = np.zeros(10)
     B = Buffer(data=data)
     data = np.zeros(20)
     B._need_resize = False
     B.set_data(data)
     assert B.nbytes == data.nbytes
     assert B._need_resize is True
예제 #2
0
 def test_offlimit_offset(self):
     data = np.zeros(10)
     B = Buffer(data=data, resizeable=False)
     self.assertRaises(ValueError,
                       B.set_data,
                       np.ones(1),
                       offset=10 * data.dtype.itemsize)
예제 #3
0
 def test_init_default(self):
     B = Buffer()
     assert B._target == gl.GL_ARRAY_BUFFER
     assert B._handle == -1
     assert B._need_create is True
     assert B._need_update is True
     assert B._need_resize is True
     assert B._need_delete is False
     assert B._nbytes == 0
     assert B._usage == gl.GL_DYNAMIC_DRAW
     assert B._resizeable is True
예제 #4
0
 def test_buffer_size(self):
     data = np.zeros(10)
     B = Buffer(data=data)
     assert B.nbytes == data.nbytes
예제 #5
0
 def test_negative_offset(self):
     data = np.zeros(10)
     B = Buffer(data=data, resizeable=False)
     # with self.assertRaises(ValueError):
     #    B.set_data(np.ones(1), offset=-1)
     self.assertRaises(ValueError, B.set_data, np.ones(1), offset=-1)
예제 #6
0
 def test_oversized_data(self):
     data = np.zeros(10)
     B = Buffer(data=data, resizeable=False)
     self.assertRaises(ValueError, B.set_data, np.ones(20))
예제 #7
0
 def test_data_copy(self):
     data = np.zeros(100)
     B = Buffer(data=data)
     B.set_data(data=data[:50], offset=0, copy=True)
     assert B._pending_data[-1][0].base is not data
예제 #8
0
 def test_data_storage(self):
     data = np.zeros(100)
     B = Buffer(data=data)
     B.set_data(data=data[:50], offset=0, copy=False)
     assert B._pending_data[-1][0].base is data
예제 #9
0
 def test_set_whole_data(self):
     data = np.zeros(100)
     B = Buffer(data=data)
     B.set_data(data=data)
     assert len(B._pending_data) == 1
예제 #10
0
 def test_init_with_data(self):
     data = np.zeros(100)
     B = Buffer(data=data)
     assert len(B._pending_data) == 1
예제 #11
0
 def test_init_no_data(self):
     B = Buffer()
     assert len(B._pending_data) == 0
예제 #12
0
 def test_buffer_forbidden_resize(self):
     data = np.zeros(10)
     B = Buffer(data=data, resizeable=False)
     data = np.zeros(20)
     self.assertRaises(ValueError, B.set_data, data)