summaryrefslogtreecommitdiff
path: root/test/array_funTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-02-08 11:27:22 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-02-08 11:27:22 +0000
commitb8d177dd5d442b7bf9cc6731828602ca2e3f4ab1 (patch)
treef5e6910890b757a604303c178804da4dcbaebd6b /test/array_funTest.cc
parent9a7eee5cfa1d18149323e37be997dbae15dac6d3 (diff)
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added tests for array_ptr. * test/array_funTest.cc
Diffstat (limited to 'test/array_funTest.cc')
-rw-r--r--test/array_funTest.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/array_funTest.cc b/test/array_funTest.cc
index 560d72a7..19cf2bfc 100644
--- a/test/array_funTest.cc
+++ b/test/array_funTest.cc
@@ -11,13 +11,21 @@ class array_funTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testArray_negate);
CPPUNIT_TEST(testArray_and);
CPPUNIT_TEST(testArrayLength);
+ CPPUNIT_TEST(testArrayPtr);
CPPUNIT_TEST_SUITE_END();
+
public:
void testBit_negate();
void testBit_and();
void testArray_negate();
void testArray_and();
void testArrayLength();
+ void testArrayPtr();
+
+ struct X{
+ int m;
+ };
+
};
@@ -77,4 +85,21 @@ void array_funTest::testArrayLength()
CPPUNIT_ASSERT_EQUAL((size_t)0, arrayLength(zeroLengthArray));
}
+// Check operator[] in const context.
+static void arrayPtrConst(const array_ptr<struct array_funTest::X>& ax)
+{
+ CPPUNIT_ASSERT_EQUAL(100, ax[3].m);
+ CPPUNIT_ASSERT_EQUAL(99, ax[2].m);
+}
+
+void array_funTest::testArrayPtr()
+{
+ array_ptr<struct X> ax(new struct X[10]);
+ ax[3].m = 100;
+ ax[2].m = 99;
+ CPPUNIT_ASSERT_EQUAL(100, ax[3].m);
+ CPPUNIT_ASSERT_EQUAL(99, ax[2].m);
+ arrayPtrConst(ax);
+}
+
} // namespace aria2