01: /*
02: * $Id: TestLogicalRowIdManager.java,v 1.3 2003/09/21 15:49:02 boisvert Exp $
03: *
04: * Unit tests for LogicalRowIdManager 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 LogicalRowIdManager}.
29: */
30: public class TestLogicalRowIdManager extends TestCase {
31:
32: public TestLogicalRowIdManager(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: LogicalRowIdManager logMgr = new LogicalRowIdManager(f, pm);
51:
52: f.forceClose();
53: }
54:
55: /**
56: * Test basics
57: */
58: public void testBasics() throws Exception {
59: RecordFile f = new RecordFile(TestRecordFile.testFileName);
60: PageManager pm = new PageManager(f);
61: LogicalRowIdManager logMgr = new LogicalRowIdManager(f, pm);
62: Location physid = new Location(20, (short) 234);
63:
64: Location logid = logMgr.insert(physid);
65: assertEquals("check one", physid, logMgr.fetch(logid));
66:
67: physid = new Location(10, (short) 567);
68: logMgr.update(logid, physid);
69: assertEquals("check two", physid, logMgr.fetch(logid));
70:
71: logMgr.delete(logid);
72:
73: f.forceClose();
74: }
75:
76: /**
77: * Runs all tests in this class
78: */
79: public static void main(String[] args) {
80: junit.textui.TestRunner.run(new TestSuite(
81: TestLogicalRowIdManager.class));
82: }
83: }
|