xref: /haiku/src/tests/kits/support/bmemoryio/SeekTest.cpp (revision 1214ef1b2100f2b3299fc9d8d6142e46f70a4c3f)
1 #include "SeekTest.h"
2 #include "cppunit/TestCaller.h"
3 #include <DataIO.h>
4 #include <stdio.h>
5 
6 SeekTest::SeekTest(std::string name) :
7 		BTestCase(name)
8 {
9 }
10 
11 
12 
13 SeekTest::~SeekTest()
14 {
15 }
16 
17 
18 void
19 SeekTest::PerformTest(void)
20 {
21 	char buf[10];
22 	BMemoryIO mem(buf, 10);
23 	off_t err;
24 
25 	NextSubTest();
26 	err = mem.Seek(3, SEEK_SET);
27 	CPPUNIT_ASSERT(err == 3);
28 
29 	NextSubTest();
30 	err = mem.Seek(3, SEEK_CUR);
31 	CPPUNIT_ASSERT(err == 6);
32 
33 	NextSubTest();
34 	err = mem.Seek(0, SEEK_END);
35 	CPPUNIT_ASSERT(err == 10);
36 
37 	NextSubTest();
38 	err = mem.Seek(-5, SEEK_END);
39 	CPPUNIT_ASSERT(err == 5);
40 
41 	NextSubTest();
42 	err = mem.Seek(5, SEEK_END);
43 	CPPUNIT_ASSERT(err == 15);
44 }
45 
46 
47 CppUnit::Test *SeekTest::suite(void)
48 {
49 	typedef CppUnit::TestCaller<SeekTest>
50 		SeekTestCaller;
51 
52 	return(new SeekTestCaller("BMemoryIO::Seek Test", &SeekTest::PerformTest));
53 }
54