]> git.saurik.com Git - wxWidgets.git/blame - tests/vectors/vectors.cpp
1. fixed wxVector<T> iterators to actually point to what they're supposed to point...
[wxWidgets.git] / tests / vectors / vectors.cpp
CommitLineData
e966f815
VS
1///////////////////////////////////////////////////////////////////////////////
2// Name: tests/vectors/vectors.cpp
3// Purpose: wxVector<T> unit test
4// Author: Vaclav Slavik
5// Created: 2007-07-07
6// RCS-ID: $Id$
7// Copyright: (c) 2007 Vaclav Slavik
8///////////////////////////////////////////////////////////////////////////////
9
10// ----------------------------------------------------------------------------
11// headers
12// ----------------------------------------------------------------------------
13
14#include "testprec.h"
15
16#ifdef __BORLANDC__
17 #pragma hdrstop
18#endif
19
20#ifndef WX_PRECOMP
21 #include "wx/wx.h"
22#endif // WX_PRECOMP
23
24#include "wx/vector.h"
25
26// --------------------------------------------------------------------------
27// test class
28// --------------------------------------------------------------------------
29
30class VectorsTestCase : public CppUnit::TestCase
31{
32public:
33 VectorsTestCase() {}
34
35private:
36 CPPUNIT_TEST_SUITE( VectorsTestCase );
37 CPPUNIT_TEST( PushTest );
6757b667 38 CPPUNIT_TEST( Iterators );
e966f815
VS
39 CPPUNIT_TEST_SUITE_END();
40
41 void PushTest();
6757b667 42 void Iterators();
e966f815
VS
43
44 DECLARE_NO_COPY_CLASS(VectorsTestCase)
45};
46
47// register in the unnamed registry so that these tests are run by default
48CPPUNIT_TEST_SUITE_REGISTRATION( VectorsTestCase );
49
50// also include in it's own registry so that these tests can be run alone
51CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( VectorsTestCase, "VectorsTestCase" );
52
53void VectorsTestCase::PushTest()
54{
55 wxVector<int> v;
56
57 CPPUNIT_ASSERT( v.size() == 0 );
58 v.push_back(1);
59 CPPUNIT_ASSERT( v.size() == 1 );
60 v.push_back(2);
61 CPPUNIT_ASSERT( v.size() == 2 );
62 v.push_back(42);
63 CPPUNIT_ASSERT( v.size() == 3 );
64
65 CPPUNIT_ASSERT( v[0] == 1 );
66 CPPUNIT_ASSERT( v[1] == 2 );
67 CPPUNIT_ASSERT( v[2] == 42 );
68}
6757b667
VS
69
70void VectorsTestCase::Iterators()
71{
72 wxVector<int> v;
73 v.push_back(1);
74 v.push_back(2);
75 v.push_back(3);
76 v.push_back(4);
77
78 int value = 1;
79 for ( wxVector<int>::iterator i = v.begin(); i != v.end(); ++i, ++value )
80 {
81 CPPUNIT_ASSERT_EQUAL( value, *i );
82 }
83}