Skip to content

Commit f8bf09d

Browse files
committed
fix test cases
1 parent c8b7439 commit f8bf09d

File tree

5 files changed

+55
-35
lines changed

5 files changed

+55
-35
lines changed

src/MiniSQL.BufferManager/Program.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ static void Main(string[] args)
1414
{
1515
Console.WriteLine("[BufferManager] Test Begin");
1616

17-
// TestPager();
17+
TestPager();
1818

19-
// TestPagerSwapping();
19+
TestPagerSwapping();
2020

21-
// TestFreeList();
21+
TestFreeList();
2222

2323
Console.WriteLine("[BufferManager] Test End");
2424
}

src/MiniSQL.IndexManager/Models/B-Tree/BTreeTestCases.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ public static class BTreeTestCases
1414
{
1515
public static void TestAll()
1616
{
17-
// TestLeafTableNode();
18-
// TestMaxHeightBTree();
17+
TestLeafTableNode();
18+
TestMaxHeightBTree();
1919
}
2020

2121
static void TestMaxHeightBTree()

src/MiniSQL.IndexManager/Program.cs

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using MiniSQL.BufferManager.Controllers;
66
using MiniSQL.BufferManager.Models;
77
using MiniSQL.IndexManager.Controllers;
8+
using MiniSQL.IndexManager.Interfaces;
89
using MiniSQL.IndexManager.Models;
910
using MiniSQL.IndexManager.Utilities;
1011
using MiniSQL.Library.Models;
@@ -17,44 +18,42 @@ static void Main(string[] args)
1718
{
1819
Console.WriteLine("[IndexManager] Test Begin");
1920

20-
//BTreeTestCases.TestAll();
21+
// BTreeTestCases.TestAll();
2122

2223
// TestMaxHeightBTree(8, false, true, true);
2324

24-
//BugTest1();
25+
BugTest1();
2526

26-
// Bugtest2();
27+
Bugtest2();
2728

28-
// BugTest3();
29+
BugTest3();
2930

30-
//TestExpressionFind();
31+
TestExpressionFind();
3132

32-
//TestExpressionDelete();
33+
TestExpressionDelete();
3334

34-
//TestInsertSplit(200);
35+
TestBTreeInsert();
3536

36-
//TestBTreeInsert();
37-
38-
//TestBTreeDelete();
37+
TestBTreeDelete();
3938

4039
HardTestForBTree();
4140

42-
// TestDBRecord();
41+
TestDBRecord();
42+
43+
TestLeafTableCell();
4344

44-
// TestLeafTableCell();
45+
TestInternalTableCell();
4546

46-
// TestInternalTableCell();
47+
TestInternalIndexCell();
4748

48-
// TestInternalIndexCell();
49+
TestLeafIndexCell();
4950

50-
// TestLeafIndexCell();
51+
TestInsertIntoAndDeletionInsideBTreeNode();
5152

5253
// TestPager();
5354

5455
// TestPagerSwapping();
5556

56-
//TestInsertIntoAndDeletionInsideBTreeNode();
57-
5857
// TestFreeList();
5958

6059
Console.WriteLine("[IndexManager] Test End");
@@ -102,7 +101,7 @@ record = GetTestBRecord(2);
102101
record = GetTestBRecord(4);
103102
keyRecord = GetTestBRecord(4);
104103
root = controller.InsertCell(root, keyRecord, record);
105-
104+
106105
BTreeNodeHelper.VisualizeIntegerTree(pager, root);
107106
// test 5
108107
// keyRecord = GetTestBRecord(1109110087);
@@ -356,6 +355,7 @@ record = GetTestRecord_expression(i, "www", (float)1.3);
356355

357356
BTreeNodeHelper.VisualizeIntegerTree(pager, root);
358357

358+
pager.Close();
359359
}
360360

361361
static void TestExpressionFind()
@@ -414,6 +414,7 @@ record = GetTestRecord_expression(i, "www", (float)1.3);
414414
Console.WriteLine();
415415
}
416416

417+
pager.Close();
417418
}
418419

419420
private static DBRecord GetTestRecord_expression(int value_1, string value_2, float value_3)
@@ -612,6 +613,7 @@ static void TestBTreeDelete()
612613
Debug.Assert(result != null);
613614
Debug.Assert(result.Key.GetValues()[0].IntegerValue == 7);
614615

616+
pager.Close();
615617
}
616618

617619
static void HardTestForBTree()
@@ -620,14 +622,14 @@ static void HardTestForBTree()
620622
File.Delete(dbPath);
621623
Pager pager = new Pager(dbPath);
622624
FreeList freeList = new FreeList(pager);
623-
BTreeController controller = new BTreeController(pager, freeList);
625+
BTreeController controller = new BTreeController(pager, freeList, 4);
624626
BTreeNode root = null;
625627
LeafTableCell result = null;
626628

627629
//Construct BTree
628630
for (int i = 1; i < 20; i++)
629631
{
630-
DBRecord record = GetTestBRecord(i+100);
632+
DBRecord record = GetTestBRecord(i + 100);
631633
DBRecord keyRecord = GetTestBRecord(i);
632634
root = controller.InsertCell(root, keyRecord, record);
633635

@@ -636,13 +638,31 @@ static void HardTestForBTree()
636638
Debug.Assert(result.Key.GetValues()[0].IntegerValue == i);
637639

638640
}
641+
// test inserting records with repeated primary keys
639642
DBRecord record_D = GetTestBRecord(103);
640643
DBRecord keyRecord_D = GetTestBRecord(3);
641-
root = controller.InsertCell(root, keyRecord_D, record_D);
642-
644+
bool isError = false;
645+
try
646+
{
647+
root = controller.InsertCell(root, keyRecord_D, record_D);
648+
}
649+
catch (RepeatedKeyException)
650+
{
651+
isError = true;
652+
}
653+
Debug.Assert(isError == true);
654+
655+
isError = false;
643656
record_D = GetTestBRecord(105);
644657
keyRecord_D = GetTestBRecord(5);
645-
root = controller.InsertCell(root, keyRecord_D, record_D);
658+
try
659+
{
660+
root = controller.InsertCell(root, keyRecord_D, record_D);
661+
}
662+
catch (RepeatedKeyException)
663+
{
664+
isError = true;
665+
}
646666

647667
BTreeNodeHelper.VisualizeIntegerTree(pager, root);
648668

@@ -714,10 +734,9 @@ static void HardTestForBTree()
714734

715735
}
716736

737+
pager.Close();
717738
}
718739

719-
720-
721740
static void TestBTreeInsert()
722741
{
723742
LeafTableCell result = null;

src/MiniSQL.Library/Program.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,13 @@ private static void TestAndList()
116116

117117
private static Expression GetAndsExpression()
118118
{
119+
// __expression__
120+
// ((32 != a) and (b <= "str")) and (6.6 > c)
119121
// __tree structure__
120-
// and 1
121-
// and 2, > 3
122-
// != 4, <= 5, 6.6 6, c 7
123-
// 32 8, a, 9, b 10, "str" 11
122+
// and 1
123+
// and 2, > 3
124+
// != 4, <= 5, 6.6 6, c 7
125+
// 32 8, a 9, b 10, "str" 11
124126

125127
// 32
126128
Expression node8 = new Expression();

src/MiniSQL.RecordManager/Program.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using System.Diagnostics;
44
using System.IO;
55
using MiniSQL.BufferManager.Controllers;
6-
using MiniSQL.BufferManager.Models;
76
using MiniSQL.IndexManager.Controllers;
87
using MiniSQL.IndexManager.Models;
98
using MiniSQL.IndexManager.Utilities;

0 commit comments

Comments
 (0)