def test_matlab_import(real_values): """ Test the automatic conversion and import of variables from MATLAB. This test loads a file stored in MATLAB, the variables defined are equivalent to the manually converted values done over Numpy. This test allows to evaluate the function which processes the conversion automa- tically. i.e., The automatic conversion results should be equal to the manual conversion of the variables. """ path = os.path.join(LOCATION, 'data.mat') inf, _ = iofuncs.load_matlab(path) valid = True for var in sorted(real_values.keys()): valid = valid and bool(np.mean(real_values[var] == inf[var])) assert valid
def test_matlabstruct(): """Test support for matlab stlye struct.""" a = iofuncs.MatlabStruct() a.b = 'spam' assert a["b"] == 'spam' a.c["d"] = 'eggs' assert a.c.d == 'eggs' assert a == {'c': {'d': 'eggs'}, 'b': 'spam'} a['d'] = [1, 2, 3] buf = io.BytesIO() iofuncs.save_matlab(a, buf) buf.seek(0) data, error = iofuncs.load_matlab(buf) assert error is None assert data['b'] == 'spam' assert data['c'].d == 'eggs' assert data['d'].tolist() == [[1, 2, 3]]