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
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)
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
def test_buffer_size(self): data = np.zeros(10) B = Buffer(data=data) assert B.nbytes == data.nbytes
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)
def test_oversized_data(self): data = np.zeros(10) B = Buffer(data=data, resizeable=False) self.assertRaises(ValueError, B.set_data, np.ones(20))
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
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
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
def test_init_with_data(self): data = np.zeros(100) B = Buffer(data=data) assert len(B._pending_data) == 1
def test_init_no_data(self): B = Buffer() assert len(B._pending_data) == 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)