01: /*
02: * $Id: TestDataPage.java,v 1.2 2003/09/21 15:49:02 boisvert Exp $
03: *
04: * Unit tests for DataPage class
05: *
06: * Simple db toolkit
07: * Copyright (C) 1999, 2000 Cees de Groot <cg@cdegroot.com>
08: *
09: * This library is free software; you can redistribute it and/or
10: * modify it under the terms of the GNU Library General Public License
11: * as published by the Free Software Foundation; either version 2
12: * of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: * Library General Public License for more details.
18: *
19: * You should have received a copy of the GNU Library General Public License
20: * along with this library; if not, write to the Free Software Foundation,
21: * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
22: */
23: package jdbm.recman;
24:
25: import junit.framework.TestCase;
26: import junit.framework.TestSuite;
27:
28: /**
29: * This class contains all Unit tests for {@link DataPage}.
30: */
31: public class TestDataPage extends TestCase {
32:
33: public TestDataPage(String name) {
34: super (name);
35: }
36:
37: /**
38: * Test basics - read and write at an offset
39: */
40: public void testReadWrite() throws Exception {
41: byte[] data = new byte[RecordFile.BLOCK_SIZE];
42: BlockIo test = new BlockIo(0, data);
43: test.writeShort(0, (short) (Magic.BLOCK + Magic.USED_PAGE));
44:
45: DataPage page = new DataPage(test);
46: page.setFirst((short) 1000);
47:
48: assertEquals("first", 1000, page.getFirst());
49: }
50:
51: /**
52: * Test factory method.
53: */
54: public void testFactory() throws Exception {
55: byte[] data = new byte[RecordFile.BLOCK_SIZE];
56: BlockIo test = new BlockIo(0, data);
57: test.writeShort(0, (short) (Magic.BLOCK + Magic.USED_PAGE));
58:
59: DataPage page = DataPage.getDataPageView(test);
60: page.setFirst((short) 1000);
61:
62: assertEquals("first", 1000, page.getFirst());
63: }
64:
65: /**
66: * Runs all tests in this class
67: */
68: public static void main(String[] args) {
69: junit.textui.TestRunner.run(new TestSuite(TestDataPage.class));
70: }
71: }
|