01: /*
02: * $Id: TestFreePhysicalRowIdPageManager.java,v 1.4 2003/09/21 15:49:02 boisvert Exp $
03: *
04: * Unit tests for FreePhysicalRowIdPageManager 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 FreePhysicalRowIdPageManager}.
29: */
30: public class TestFreePhysicalRowIdPageManager extends TestCase {
31:
32: public TestFreePhysicalRowIdPageManager(String name) {
33: super (name);
34: }
35:
36: public void setUp() {
37: TestRecordFile.deleteTestFile();
38: }
39:
40: public void tearDown() {
41: TestRecordFile.deleteTestFile();
42: }
43:
44: /**
45: * Test constructor
46: */
47: public void testCtor() throws Exception {
48: RecordFile f = new RecordFile(TestRecordFile.testFileName);
49: PageManager pm = new PageManager(f);
50: FreePhysicalRowIdPageManager freeMgr = new FreePhysicalRowIdPageManager(
51: f, pm);
52:
53: pm.close();
54: f.close();
55: }
56:
57: /**
58: * Test basics
59: */
60: public void testBasics() throws Exception {
61: RecordFile f = new RecordFile(TestRecordFile.testFileName);
62: PageManager pm = new PageManager(f);
63: FreePhysicalRowIdPageManager freeMgr = new FreePhysicalRowIdPageManager(
64: f, pm);
65:
66: // allocate 10,000 bytes - should fail on an empty file.
67: Location loc = freeMgr.get(10000);
68: assertTrue("loc is not null?", loc == null);
69:
70: pm.close();
71: f.close();
72: }
73:
74: /**
75: * Runs all tests in this class
76: */
77: public static void main(String[] args) {
78: junit.textui.TestRunner.run(new TestSuite(
79: TestFreePhysicalRowIdPageManager.class));
80: }
81: }
|