[b4b313]: / matlab_xunit_3.1 / matlab_xunit / tests / TestSuiteTest.m

Download this file

111 lines (92 with data), 4.4 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
%TestSuiteTest Unit tests for TestSuite class
classdef TestSuiteTest < TestCaseInDir
methods
function self = TestSuiteTest(name)
self = self@TestCaseInDir(name, ...
fullfile(fileparts(which(mfilename)), 'helper_classes'));
end
function testClassNameIn(self)
% Syntax check: TestSuite('classname')
suite = TestSuite('TwoPassingTests');
assertTrue(numel(suite.TestComponents) == 2, ...
'TestSuite finds two test methods given class name');
end
function testCurrentDirectory(self)
% See that the no-input syntax executes without error.
% Not sure how to test this more effectively.
suite = TestSuite();
end
function testNoTestMethods(self)
% TestCase class containing no test methods
suite = TestSuite('NoTestMethods');
assertTrue(numel(suite.TestComponents) == 0, ...
'No test cases when class contains no test methods');
end
function test_fromTestCaseClassName(self)
suite = TestSuite.fromTestCaseClassName('TwoPassingTests');
assertTrue(numel(suite.TestComponents) == 2);
assertTrue(ismember(suite.TestComponents{1}.Name, ...
{'testMethod1', 'testMethod2'}));
assertTrue(ismember(suite.TestComponents{2}.Name, ...
{'testMethod1', 'testMethod2'}));
end
function test_fromTestCaseClassName_badclass(self)
assertExceptionThrown(@() TestSuite.fromTestCaseClassName('atan2'), ...
'xunit:fromTestCaseClassName');
end
function test_fromName_TestCaseSubclass(self)
suite = TestSuite.fromName('TwoPassingTests');
assertTrue(numel(suite.TestComponents) == 2);
assertEqual(suite.Name, 'TwoPassingTests');
end
function test_fromName_notTestCaseSubclass(self)
suite = TestSuite.fromName('TestRunMonitor');
assertTrue(isempty(suite.TestComponents));
assertEqual(suite.Name, 'TestRunMonitor');
end
function test_fromName_simpleTest(self)
suite = TestSuite.fromName('testSimple');
assertEqual(numel(suite.TestComponents), 1);
assertEqual(suite.Name, 'testSimple');
assertEqual(suite.Location, which('testSimple'));
end
function test_fromName_subfunctions(self)
suite = TestSuite.fromName('testFunctionHandlesA');
assertEqual(numel(suite.TestComponents), 2);
assertEqual(suite.Name, 'testFunctionHandlesA');
assertEqual(suite.Location, which('testFunctionHandlesA'));
end
function test_fromName_bogus_name(self)
suite = TestSuite.fromName('atan2');
assertTrue(isempty(suite.TestComponents));
assertEqual(suite.Name, 'atan2');
end
function test_fromName_with_filter_string(self)
suite = TestSuite.fromName('testFunctionHandlesA:testA');
assertEqual(numel(suite.TestComponents), 1);
assertEqual(suite.TestComponents{1}.Name, 'testA');
assertEqual(suite.Name, 'testFunctionHandlesA');
end
function test_fromName_with_nonmatching_filter_string(self)
suite = TestSuite.fromName('testFunctionHandlesA:foobar');
assertTrue(isempty(suite.TestComponents));
end
function test_fromName_with_dirname(self)
xunit_test_dir = which('TestSuiteTest');
xunit_test_dir = fileparts(xunit_test_dir);
cwd_test_dir = fullfile(xunit_test_dir, 'cwd_test');
suite = TestSuite.fromName(cwd_test_dir);
assertEqual(suite.Name, 'cwd_test');
assertEqual(suite.Location, cwd_test_dir);
assertEqual(numel(suite.TestComponents), 3);
end
function test_fromPwd(self)
% Verify that the fromPwd method returns a nonempty TestSuite object
% from the helper_classes directory, with the correct number of
% test components.
suite = TestSuite.fromPwd();
assertTrue(isa(suite, 'TestSuite'));
assertTrue(numel(suite.TestComponents) == 16);
end
end
end