-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtest_answerCell.m
46 lines (37 loc) · 1.4 KB
/
test_answerCell.m
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
function e=test_answerCell()
%
% Tests the answerCell function several cases and returns the number of errors.
%
% Answercell as described on CodingBat:
%
% Your cell phone rings. Return true if you should answer it. Normally you
% answer, except in the morning you only answer if it is your mom calling. In
% all cases, if you are asleep, you do not answer.
%
% Marcus Kelly, May 8, 2010
%
% Note: the following 8 test cases represent ALL POSSIBLE valid inputs
% for this program. It would be silly to add more.
%
%
%isMorning %isMom %isAsleep %expect
e=0 ;
e = e + runtest(true,true,true, false ) ;
e = e + runtest(true,true,false, true ) ;
e = e + runtest(true,false,true, false ) ;
e = e + runtest(true,false,false, false ) ;
e = e + runtest(false,true,true, false ) ;
e = e + runtest(false,true,false, true ) ;
e = e + runtest(false,false,true, false ) ;
e = e + runtest(false,false,false, true ) ;
function e = runtest(test_isMorning,test_isMom,test_isAsleep,answer)
result=answerCell(test_isMorning,test_isMom,test_isAsleep) ;
if ( result == answer )
e=0 ;
fprintf(' answerCell(%d,%d,%d)=%d\n',test_isMorning,test_isMom,test_isAsleep,answer) ;
else
e=1 ;
fprintf('ERROR: answerCell(%d,%d,%d) returned %d, should be %d.\n',test_isMorning,test_isMom,test_isAsleep,result,answer) ;
end
end
end