3 XCSoar Glide Computer - http://www.xcsoar.org/
4 Copyright (C) 2000-2013 The XCSoar Project
5 A detailed list of copyright holders can be found in the file "AUTHORS".
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 #include "harness_flight.hpp"
24 #include "harness_wind.hpp"
27 test_aat(int test_num
, int n_wind
)
29 // test whether flying to targets in an AAT task produces
30 // elapsed (finish) times equal to desired time with 1.5% tolerance
32 TestFlightResult result
= test_flight(test_num
, n_wind
);
33 bool fine
= result
.result
;
34 double min_time
= (double)aat_min_time(test_num
) + 300.0;
35 // 300 second offset is default 5 minute margin provided in TaskBehaviour
37 const double t_ratio
= fabs(result
.time_elapsed
/ min_time
- 1.0);
38 fine
&= (t_ratio
< 0.015);
40 printf("# time ratio error (elapsed/target) %g\n", t_ratio
);
45 int main(int argc
, char** argv
)
48 autopilot_parms
.SetIdeal();
50 if (!ParseArgs(argc
,argv
)) {
56 plan_tests(NUM_FLIGHT
*2);
58 for (int i
=0; i
<NUM_FLIGHT
; i
++) {
59 unsigned k
= rand()%NUM_WIND
;
60 ok (test_aat(2,k
), GetTestName("target ",2,k
),0);
62 for (int i
=0; i
<NUM_FLIGHT
; i
++) {
63 unsigned k
= rand()%NUM_WIND
;
64 ok (test_aat(0,k
), GetTestName("target ",0,k
),0);