function test_suite = test_dim_rename()
% tests for cosmo_dim_rename
%
% # For CoSMoMVPA's copyright information and license terms, #
% # see the COPYING file distributed with CoSMoMVPA. #
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
test_functions=localfunctions();
catch % no problem; early Matlab versions can use initTestSuite fine
end
initTestSuite
function test_dim_rename_basics
ds=cosmo_synthetic_dataset();
% simple rename
ds2=cosmo_dim_rename(ds,'j','jj');
assertEqual(ds2.a.fdim.labels{2},'jj');
assertEqual(ds2.a.fdim.values,ds.a.fdim.values);
assertEqual(ds2.samples,ds.samples);
assertEqual(ds2.sa,ds.sa);
fa=ds.fa;
fa.jj=fa.j;
fa=rmfield(fa,'j');
assertEqual(ds2.fa,fa);
% if raise=false, input is same as output
ds3=cosmo_dim_rename(ds,'xxx','jj',false);
assertEqual(ds,ds3,ds);
aet=@(varargin)assertExceptionThrown(@()...
cosmo_dim_rename(varargin{:}),'');
aet(ds,'xxx','jj');
aet(ds,'xxx','jj',true);