-
Notifications
You must be signed in to change notification settings - Fork 0
/
imhawkeye_test.m
executable file
·132 lines (110 loc) · 6.23 KB
/
imhawkeye_test.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
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
clc;
%TEST: imagen con mas de una pelotita en cancha, INVALIDA!
test_number = 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_2_balls.tif', 'SINGLES', 'LEFT', 'SHOT');
assert(false, 'TEST %d FAIL!', TEST_number);
catch ME
fprintf('%s\n', ME.message);
fprintf('TEST %d PASSED!\n', test_number);
end
%TEST: imagen con una cancha que la falta una línea central, INVALIDA!
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_invalid_court_01.tif', 'SINGLES', 'LEFT', 'SHOT');
[~, R] = imhawkeye('imgs_testing/tennis_court_invalid_court_02.tif', 'SINGLES', 'LEFT', 'SHOT');
assert(false, 'TEST %d FAIL!', test_number);
catch ME
fprintf('%s\n', ME.message);
fprintf('TEST %d PASSED!\n', test_number);
end
%TEST: imagen con un tamaño diferente al esperado, INVALIDA!
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_invalid_image_size.tif', 'SINGLES', 'LEFT', 'SHOT');
assert(false, 'TEST %d FAIL!', test_number);
catch ME
fprintf('%s\n', ME.message);
fprintf('TEST %d PASSED!\n', test_number);
end
%TEST: imagen sin ninguna pelotita, OUT independientemente del resto de los
%parametros.
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_no_ball.tif', 'SINGLES', 'LEFT', 'SHOT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_no_ball.tif', 'SINGLES', 'LEFT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_no_ball.tif', 'DOUBLES', 'RIGHT', 'SHOT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_no_ball.tif', 'DOUBLES', 'RIGHT', 'SERVICE', 'RIGHT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
fprintf('TEST %d PASSED!\n', test_number);
catch ME
fprintf('%s\n', ME.message);
assert(false, sprintf('TEST %d FAIL!', test_number));
end
%TEST: imagen válida, sin tocar ninguna línea
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'LEFT', 'SHOT');
assert(strcmp(R, 'IN'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'IN', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'RIGHT', 'SHOT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'LEFT', 'SHOT');
assert(strcmp(R, 'IN'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'IN', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'RIGHT', 'SHOT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'LEFT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'LEFT', 'SERVICE', 'RIGHT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'RIGHT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'SINGLES', 'RIGHT', 'SERVICE', 'RIGHT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'LEFT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'LEFT', 'SERVICE', 'RIGHT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'RIGHT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_001.tif', 'DOUBLES', 'RIGHT', 'SERVICE', 'RIGHT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
fprintf('TEST %d PASSED!\n', test_number);
catch ME
fprintf('%s\n', ME.message);
assert(false, 'TEST %d FAIL!', test_number);
end
%TEST: saque válido la pelotita apenas toca una de las líneas que forman el
%área de saque válido
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_002.tif', 'DOUBLES', 'LEFT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'IN'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'IN', R);
catch ME
fprintf('%s\n', ME.message);
assert(false, sprintf('TEST %d FAIL!', test_number));
end
%TEST: saque inválido la pelotita apenas esta por fuera del área de saque
%válido
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_003.tif', 'DOUBLES', 'LEFT', 'SERVICE', 'LEFT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
catch ME
fprintf('%s\n', ME.message);
assert(false, sprintf('TEST %d FAIL!', test_number));
end
%TEST: pelotita que toca una de las líneas de fondo pero solo es válido si
%el partido es de dobles
test_number = test_number + 1;
try
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_004.tif', 'DOUBLES', 'RIGHT', 'SHOT');
assert(strcmp(R, 'IN'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'IN', R);
[~, R] = imhawkeye('imgs_testing/tennis_court_shot_004.tif', 'SINGLES', 'RIGHT', 'SHOT');
assert(strcmp(R, 'OUT'), 'TEST %d FAIL! Expected: %s Actual: %s', test_number, 'OUT', R);
catch ME
fprintf('%s\n', ME.message);
assert(false, sprintf('TEST %d FAIL!', test_number));
end