function test_suite = test_anova_feature_selector
% tests for cosmo_anova_feature_selector
%
% # 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_anova_feature_selector_basics
ds = cosmo_synthetic_dataset();
aeq = @(arg, res)assertEqual(cosmo_anova_feature_selector(ds, arg), res);
aeq(.1, 2);
aeq(.45, [2 4 5]);
aeq(.99, [2 4 5 3 1 6]);
aeq(1, 2);
aeq(3, [2 4 5]);
aeq(6, [2 4 5 3 1 6]);
aet = @(arg)assertExceptionThrown(@() ...
cosmo_anova_feature_selector(ds, arg), '');
aet(1.5);
aet(7);
ds.samples(:, [2 4 5]) = NaN;
assertEqual(cosmo_anova_feature_selector(ds, 3), [3 1 6]);
assertExceptionThrown(@()cosmo_anova_feature_selector(ds, 4), '');