TaskManager: remove GetStartState() and GetFinishState()
[xcsoar.git] / test / src / TestOverwritingRingBuffer.cpp
blobb61e5818877166353d64cbf37e2b2819550d084b
1 /* Copyright_License {
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 "Util/OverwritingRingBuffer.hpp"
24 #include "TestUtil.hpp"
26 int main(int argc, char **argv)
28 plan_tests(14);
30 OverwritingRingBuffer<unsigned,4> buffer;
31 ok1(buffer.empty());
33 buffer.push(1);
34 ok1(!buffer.empty());
35 ok1(buffer.peek() == 1);
36 ok1(buffer.shift() == 1);
37 ok1(buffer.empty());
39 buffer.push(2);
40 buffer.push(3);
41 buffer.push(4);
42 buffer.push(5);
43 ok1(!buffer.empty());
45 auto i = buffer.begin(), end = buffer.end();
46 ok1(*i == 3);
47 ++i;
48 ok1(*i == 4);
49 ++i;
50 ok1(*i == 5);
51 ++i;
52 ok1(i == end);
54 ok1(buffer.shift() == 3);
55 ok1(buffer.shift() == 4);
56 ok1(buffer.shift() == 5);
57 ok1(buffer.empty());
59 return exit_status();