Develop and Download Open Source Software

Browse Subversion Repository

Contents of /common/TestPointerRingBuffer.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 279 - (show annotations) (download) (as text)
Wed Mar 12 05:28:19 2008 UTC (16 years, 1 month ago) by satofumi
File MIME type: text/x-c++src
File size: 1732 byte(s)
adjust tab index
1 /*!
2 \file
3 \brief PointerRingBuffer のテスト
4
5 \author Satofumi KAMIMURA
6
7 $Id$
8 */
9
10 #include "TestPointerRingBuffer.h"
11 #include "PointerRingBuffer.h"
12
13
14 CPPUNIT_TEST_SUITE_REGISTRATION(PointerRingBufferTest);
15 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(PointerRingBufferTest,
16 "PointerRingBufferTest");
17
18
19 void PointerRingBufferTest::compileTest(void) {
20 PointerRingBuffer<char*> buffer;
21 }
22
23
24 void PointerRingBufferTest::resizeTest(void) {
25 PointerRingBuffer<char*> buffer;
26
27 // 初期状態
28 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), buffer.size());
29 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), buffer.capacity());
30
31 // サイズを 1 に設定
32 char ch1;
33 buffer.push_buffer(&ch1);
34 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), buffer.capacity());
35 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), buffer.size());
36
37 // サイズを 3 に設定
38 char ch2, ch3;
39 buffer.push_buffer(&ch2);
40 buffer.push_buffer(&ch3);
41 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), buffer.capacity());
42 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), buffer.size());
43 }
44
45
46 void PointerRingBufferTest::putTest(void) {
47
48 PointerRingBuffer<char*> buffer;
49 char ch1_buffer, ch2_buffer;
50 buffer.push_buffer(&ch1_buffer);
51 buffer.push_buffer(&ch2_buffer);
52 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), buffer.size());
53
54 char* p = buffer.get_buffer();
55 *p = '1';
56 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), buffer.size());
57
58 p = buffer.get_buffer();
59 *p = '2';
60 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), buffer.size());
61
62 p = buffer.front();
63 CPPUNIT_ASSERT_EQUAL('1', *p);
64
65 buffer.rotate();
66 CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), buffer.size());
67
68 p = buffer.front();
69 CPPUNIT_ASSERT_EQUAL('2', *p);
70 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26