01: /*
02: * $Id: TestFileHeader.java,v 1.2 2003/09/21 15:49:02 boisvert Exp $
03: *
04: * Unit tests for FileHeader 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.*;
26:
27: /**
28: * This class contains all Unit tests for {@link FileHeader}.
29: */
30: public class TestFileHeader extends TestCase {
31:
32: public TestFileHeader(String name) {
33: super (name);
34: }
35:
36: /**
37: * Test set, write, read
38: */
39: public void testSetWriteRead() throws Exception {
40: BlockIo b = new BlockIo(0, new byte[1000]);
41: FileHeader f = new FileHeader(b, true);
42: for (int i = 0; i < Magic.NLISTS; i++) {
43: f.setFirstOf(i, 100 * i);
44: f.setLastOf(i, 200 * i);
45: }
46:
47: f = new FileHeader(b, false);
48: for (int i = 0; i < Magic.NLISTS; i++) {
49: assertEquals("first " + i, i * 100, f.getFirstOf(i));
50: assertEquals("last " + i, i * 200, f.getLastOf(i));
51: }
52: }
53:
54: /**
55: * Test root rowids
56: */
57: public void testRootRowids() throws Exception {
58: BlockIo b = new BlockIo(0, new byte[RecordFile.BLOCK_SIZE]);
59: FileHeader f = new FileHeader(b, true);
60: for (int i = 0; i < FileHeader.NROOTS; i++) {
61: f.setRoot(i, 100 * i);
62: }
63:
64: f = new FileHeader(b, false);
65: for (int i = 0; i < FileHeader.NROOTS; i++) {
66: assertEquals("root " + i, i * 100, f.getRoot(i));
67: }
68: }
69:
70: /**
71: * Runs all tests in this class
72: */
73: public static void main(String[] args) {
74: junit.textui.TestRunner
75: .run(new TestSuite(TestFileHeader.class));
76: }
77: }
|