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 "Engine/Task/Points/TaskWaypoint.hpp"
24 #include "Geo/GeoVector.hpp"
25 #include "TestUtil.hpp"
27 class DummyTaskWaypoint
: public TaskWaypoint
30 friend class TaskWaypointTest
;
32 DummyTaskWaypoint(TaskPointType _type
, const Waypoint
& wp
)
33 :TaskWaypoint(_type
, wp
) {}
35 virtual GeoVector
GetVectorRemaining(const GeoPoint
&reference
) const {
39 virtual fixed
GetElevation() const {
44 class TaskWaypointTest
51 TaskWaypointTest::Run()
53 GeoPoint
gp(Angle::Degrees(20), Angle::Degrees(50));
56 wp
.elevation
= fixed(42);
58 DummyTaskWaypoint
tw(TaskPointType::AST
, wp
);
60 const Waypoint
&wp2
= tw
.GetWaypoint();
61 ok1(wp2
.name
== _T("Test"));
62 ok1(equals(tw
.GetBaseElevation(), 42));
63 ok1(equals(tw
.GetBaseElevation(), wp2
.elevation
));
64 ok1(equals(wp2
.location
, gp
));
65 ok1(equals(tw
.GetLocation(), gp
));
68 int main(int argc
, char **argv
)
72 TaskWaypointTest test
;