import pytest import numpy as np # from cnmodel.util.matlab_proc import MatlabProcess import matlab.engine def test_matlab(): global proc try: # proc = MatlabProcess() proc = matlab.engine.start_matlab() except RuntimeError: # no matlab available; skip this test pytest.skip("MATLAB unavailable") base_vcount = proc.who(nargout=1) # .shape[0] assert len(base_vcount) == 0 e4 = np.array(proc.eye(4, nargout=1)) assert isinstance(e4, np.ndarray) assert np.all(e4 == np.eye(4)) # assert proc.who().shape[0] == base_vcount o6_ref = np.array(proc.ones(6, nargout=1)) # _transfer=False)) # o6 = o6_ref.get() o6 = np.array(proc.ones(6, nargout=1)) assert np.all(o6 == np.ones(6)) # print(proc.who(nargout=1)) # assert proc.who(nargout=1) == base_vcount + 1 del o6_ref # assert proc.who().shape[0] == base_vcount proc.close() if __name__ == "__main__": test_matlab()