Skip to content

Commit e9a9412

Browse files
committed
fix BST tests for tree
1 parent 7e6d4aa commit e9a9412

File tree

5 files changed

+70
-11
lines changed

5 files changed

+70
-11
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
using Advanced.Algorithms.DataStructures;
2+
using Advanced.Algorithms.DataStructures.DistributedSystems;
3+
using Advanced.Algorithms.DataStructures.Queues;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
6+
namespace Advanced.Algorithms.Tests.DataStructures.Queues
7+
{
8+
[TestClass]
9+
public class CircularQueue_Tests
10+
{
11+
12+
[TestMethod]
13+
public void CircularQueue_Test()
14+
{
15+
var Queue = new CircularQueue<int>(7);
16+
17+
Assert.AreEqual(0, Queue.Enqueue(1));
18+
Assert.AreEqual(0, Queue.Enqueue(2));
19+
20+
Assert.AreEqual(0, Queue.Enqueue(3));
21+
Assert.AreEqual(0, Queue.Enqueue(4));
22+
Assert.AreEqual(0, Queue.Enqueue(5));
23+
Assert.AreEqual(0, Queue.Enqueue(6));
24+
Assert.AreEqual(0, Queue.Enqueue(7));
25+
Assert.AreEqual(1, Queue.Enqueue(8));
26+
Assert.AreEqual(2, Queue.Enqueue(9));
27+
28+
Assert.AreEqual(Queue.Count, 7);
29+
Assert.AreEqual(3, Queue.Dequeue());
30+
31+
Assert.AreEqual(Queue.Count, 6);
32+
Assert.AreEqual(Queue.Dequeue(), 4);
33+
34+
Assert.AreEqual(Queue.Count, 5);
35+
Assert.AreEqual(Queue.Dequeue(), 5);
36+
37+
Assert.AreEqual(Queue.Count, 4);
38+
Assert.AreEqual(Queue.Dequeue(), 6);
39+
40+
Assert.AreEqual(Queue.Count, 3);
41+
Assert.AreEqual(Queue.Dequeue(), 7);
42+
43+
Assert.AreEqual(Queue.Count, 2);
44+
Assert.AreEqual(Queue.Dequeue(), 8);
45+
46+
Assert.AreEqual(Queue.Count, 1);
47+
Assert.AreEqual(Queue.Dequeue(), 9);
48+
49+
Assert.AreEqual(Queue.Count, 0);
50+
51+
Assert.AreEqual(0, Queue.Enqueue(1));
52+
Assert.AreEqual(0, Queue.Enqueue(2));
53+
54+
Assert.AreEqual(Queue.Count, 2);
55+
Assert.AreEqual(1, Queue.Dequeue());
56+
57+
Assert.AreEqual(Queue.Count, 1);
58+
Assert.AreEqual(Queue.Dequeue(), 2);
59+
}
60+
61+
62+
}
63+
}

Advanced.Algorithms.Tests/DataStructures/Tree/AVLTree_Tests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public void AVLTree_AccuracyTest()
109109

110110
Assert.IsTrue(tree.HasItem(randomNumbers[i]));
111111

112-
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root));
112+
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root, int.MinValue, int.MaxValue));
113113

114114
var actualHeight = tree.GetHeight();
115115

@@ -128,7 +128,7 @@ public void AVLTree_AccuracyTest()
128128
{
129129
tree.Delete(randomNumbers[i]);
130130

131-
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root));
131+
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root, int.MinValue, int.MaxValue));
132132

133133
var actualHeight = tree.GetHeight();
134134

Advanced.Algorithms.Tests/DataStructures/Tree/RedBlackTree_Tests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public void RedBlackTree_AccuracyTest()
6565
{
6666
tree.Insert(randomNumbers[i]);
6767
Assert.IsTrue(tree.HasItem(randomNumbers[i]));
68-
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root));
68+
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root, int.MinValue, int.MaxValue));
6969

7070
var actualHeight = tree.GetHeight();
7171

@@ -85,7 +85,7 @@ public void RedBlackTree_AccuracyTest()
8585
for (int i = 0; i < nodeCount; i++)
8686
{
8787
tree.Delete(randomNumbers[i]);
88-
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root));
88+
Assert.IsTrue(BinarySearchTreeTester<int>.VerifyIsBinarySearchTree(tree.Root, int.MinValue, int.MaxValue));
8989

9090
var actualHeight = tree.GetHeight();
9191

Advanced.Algorithms.Tests/DataStructures/Tree/TestHelpers/BinarySearchTreeTester.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,15 @@ namespace Advanced.Algorithms.Tests.DataStructures.Tree.TestHelpers
99
{
1010
public class BinarySearchTreeTester<T> where T:IComparable
1111
{
12-
13-
public static bool VerifyIsBinarySearchTree(IBSTNode<T> node)
14-
{
15-
return VerifyIsBinarySearchTree(node, int.MinValue, int.MaxValue);
16-
}
1712

18-
public static bool VerifyIsBinarySearchTree(IBSTNode<T> node, int lowerBound, int upperBound)
13+
public static bool VerifyIsBinarySearchTree(IBSTNode<T> node, T lowerBound, T upperBound)
1914
{
2015
if (node == null)
2116
{
2217
return true;
2318
}
2419

25-
if (node.Value >= upperBound || node.Value <= lowerBound)
20+
if (node.Value .CompareTo(upperBound)>= 0 || node.Value.CompareTo(lowerBound) <= 0)
2621
{
2722
return false;
2823
}

Advanced.Algorithms/DataStructures/Tree/Interfaces.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ public interface IBSTNode<T> where T : IComparable
88
IBSTNode<T> Right { get; }
99

1010
T Value { get; }
11+
1112
}
1213
}

0 commit comments

Comments
 (0)