Skip to content

Commit d2cdf60

Browse files
Merge pull request justcoding121#17 from justcoding121/master
Beta
2 parents 8252300 + 8f47a42 commit d2cdf60

File tree

370 files changed

+21712
-9062
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

370 files changed

+21712
-9062
lines changed

Advanced.Algorithms.Tests/Advanced.Algorithms.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@
8080
<Compile Include="DataStructures\Heap\Max\D-aryMaxHeap_Tests.cs" />
8181
<Compile Include="DataStructures\Heap\Max\FibornacciMaxHeap_Tests.cs" />
8282
<Compile Include="DataStructures\Heap\Max\PairingMaxHeap_Tests.cs" />
83-
<Compile Include="DataStructures\Heap\Min\PairingMinHeap_Tests.cs" />
84-
<Compile Include="DataStructures\Heap\Min\FibornacciMinHeap_Tests.cs" />
8583
<Compile Include="DataStructures\Heap\Min\BinomialMinHeap_Tests.cs" />
84+
<Compile Include="DataStructures\Heap\Min\FibornacciMinHeap_Tests.cs" />
8685
<Compile Include="DataStructures\Heap\Min\D-aryMinHeap_Tests.cs" />
86+
<Compile Include="DataStructures\Heap\Min\PairingMinHeap_Tests.cs" />
8787
<Compile Include="DataStructures\LinkedList\CircularLinkedList_Tests.cs" />
8888
<Compile Include="DataStructures\LinkedList\DoublyLinkedList_Tests.cs" />
8989
<Compile Include="DataStructures\LinkedList\SinglyLinkedList_Tests.cs" />
@@ -94,10 +94,12 @@
9494
<Compile Include="DataStructures\Tree\AVLTree_Tests.cs" />
9595
<Compile Include="DataStructures\Tree\BST_Tests.cs" />
9696
<Compile Include="DataStructures\Tree\KdTree_Tests.cs" />
97+
<Compile Include="DataStructures\Tree\QuadTree_Tests.cs" />
9798
<Compile Include="DataStructures\Tree\RangeTreeTests.cs" />
9899
<Compile Include="DataStructures\Tree\RTree_Tests.cs" />
99100
<Compile Include="DataStructures\Tree\SplayTree_Tests.cs" />
100101
<Compile Include="DataStructures\Tree\TreapTree_Tests.cs" />
102+
<Compile Include="Distributed\AsyncQueue_Tests.cs" />
101103
<Compile Include="Distributed\CircularQueue_Tests.cs" />
102104
<Compile Include="DataStructures\Queues\Queue_Tests.cs" />
103105
<Compile Include="DataStructures\Set\BloomFilter_Tests.cs" />

Advanced.Algorithms.Tests/DataStructures/Dictionary/Dictionary_Tests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Advanced.Algorithms.DataStructures;
2+
using Advanced.Algorithms.DataStructures.Foundation;
23
using Microsoft.VisualStudio.TestTools.UnitTesting;
34
using System;
45
using System.Linq;

Advanced.Algorithms.Tests/DataStructures/Dictionary/SortedDictionary_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Advanced.Algorithms.DataStructures;
1+
using Advanced.Algorithms.DataStructures.Foundation;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
33
using System;
44
using System.Linq;

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyList/DiGraph_Tests.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyList;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyList
56
{
@@ -30,8 +31,11 @@ public void DiGraph_Smoke_Test()
3031
graph.AddEdge(4, 1);
3132
graph.AddEdge(3, 5);
3233

33-
Assert.AreEqual(2, graph.GetAllOutEdges(4).Count);
34-
Assert.AreEqual(2, graph.GetAllInEdges(5).Count);
34+
//IEnumerable test using linq
35+
Assert.AreEqual(graph.VerticesCount, graph.Count());
36+
37+
Assert.AreEqual(2, graph.OutEdges(4).Count());
38+
Assert.AreEqual(2, graph.InEdges(5).Count());
3539

3640
Assert.AreEqual(5, graph.VerticesCount);
3741

@@ -60,6 +64,9 @@ public void DiGraph_Smoke_Test()
6064
graph.RemoveVertex(5);
6165

6266
Assert.AreEqual(0, graph.VerticesCount);
67+
68+
//IEnumerable test using linq
69+
Assert.AreEqual(graph.VerticesCount, graph.Count());
6370
}
6471
}
6572
}

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyList/Graph_Tests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyList;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyList
56
{
@@ -27,7 +28,7 @@ public void Graph_Smoke_Test()
2728
graph.AddEdge(4, 1);
2829
graph.AddEdge(3, 5);
2930

30-
Assert.AreEqual(3, graph.GetAllEdges(4).Count);
31+
Assert.AreEqual(3, graph.Edges(4).Count());
3132

3233
Assert.AreEqual(5, graph.VerticesCount);
3334

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyList/WeightedDiGraph_Tests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyList;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyList
56
{
@@ -27,8 +28,8 @@ public void WeightedDiGraph_Smoke_Test()
2728
graph.AddEdge(4, 1, 6);
2829
graph.AddEdge(3, 5, 4);
2930

30-
Assert.AreEqual(2, graph.GetAllOutEdges(4).Count);
31-
Assert.AreEqual(2, graph.GetAllInEdges(5).Count);
31+
Assert.AreEqual(2, graph.OutEdges(4).Count());
32+
Assert.AreEqual(2, graph.InEdges(5).Count());
3233

3334
Assert.AreEqual(5, graph.VerticesCount);
3435

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyMatrix/DiGraph_Tests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyMatrix
56
{
@@ -25,7 +26,7 @@ public void DiGraph_Smoke_Test()
2526
Assert.IsFalse(graph.HasEdge(2, 1));
2627

2728
graph.AddEdge(3, 2);
28-
Assert.AreEqual(2, graph.GetAllInEdges(2).Count);
29+
Assert.AreEqual(2, graph.InEdges(2).Count());
2930
graph.RemoveEdge(3, 2);
3031

3132
graph.AddEdge(2, 3);
@@ -34,7 +35,7 @@ public void DiGraph_Smoke_Test()
3435
graph.AddEdge(4, 1);
3536
graph.AddEdge(3, 5);
3637

37-
Assert.AreEqual(2, graph.GetAllOutEdges(4).Count);
38+
Assert.AreEqual(2, graph.OutEdges(4).Count());
3839

3940
Assert.AreEqual(5, graph.VerticesCount);
4041

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyMatrix/Graph_Tests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyMatrix
56
{
@@ -27,7 +28,7 @@ public void Graph_Smoke_Test()
2728

2829
graph.AddEdge(2, 3);
2930

30-
Assert.AreEqual(2, graph.GetAllEdges(2).Count);
31+
Assert.AreEqual(2, graph.Edges(2).Count());
3132

3233
graph.AddEdge(3, 4);
3334
graph.AddEdge(4, 5);

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyMatrix/WeightedDiGraph_Tests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyMatrix
56
{
@@ -27,8 +28,8 @@ public void WeightedDiGraph_Smoke_Test()
2728
graph.AddEdge(4, 1, 6);
2829
graph.AddEdge(3, 5, 4);
2930

30-
Assert.AreEqual(2, graph.GetAllOutEdges(4).Count);
31-
Assert.AreEqual(2, graph.GetAllInEdges(5).Count);
31+
Assert.AreEqual(2, graph.OutEdges(4).Count());
32+
Assert.AreEqual(2, graph.InEdges(5).Count());
3233

3334
Assert.AreEqual(5, graph.VerticesCount);
3435

Advanced.Algorithms.Tests/DataStructures/Graph/AdjacencyMatrix/WeightedGraph_Tests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Advanced.Algorithms.DataStructures.Graph.AdjacencyMatrix;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System.Linq;
34

45
namespace Advanced.Algorithms.Tests.DataStructures.Graph.AdjacencyMatrix
56
{
@@ -27,7 +28,7 @@ public void WeightedGraph_Smoke_Test()
2728
graph.AddEdge(4, 1, 1);
2829
graph.AddEdge(3, 5, 6);
2930

30-
Assert.AreEqual(2, graph.GetAllEdges(2).Count);
31+
Assert.AreEqual(2, graph.Edges(2).Count());
3132

3233
Assert.AreEqual(5, graph.VerticesCount);
3334

Advanced.Algorithms.Tests/DataStructures/HashSet/HashSet_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Advanced.Algorithms.DataStructures;
1+
using Advanced.Algorithms.DataStructures.Foundation;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
33
using System;
44
using System.Linq;

Advanced.Algorithms.Tests/DataStructures/HashSet/SortedHashSet_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Advanced.Algorithms.DataStructures;
1+
using Advanced.Algorithms.DataStructures.Foundation;
22
using Microsoft.VisualStudio.TestTools.UnitTesting;
33
using System;
44
using System.Linq;

Advanced.Algorithms.Tests/DataStructures/Heap/Max/BMaxHeap_Tests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public void BMaxHeap_Test()
3434
Assert.AreEqual(Max, 99 - i);
3535
}
3636

37-
37+
//IEnumerable tests.
38+
Assert.AreEqual(tree.Count, tree.Count());
39+
3840
var testSeries = Enumerable.Range(1, 49)
3941
.OrderBy(x => rnd.Next()).ToList();
4042

@@ -49,6 +51,9 @@ public void BMaxHeap_Test()
4951
Assert.AreEqual(max, 49 - i + 1);
5052
}
5153

54+
//IEnumerable tests.
55+
Assert.AreEqual(tree.Count, tree.Count());
56+
5257
}
5358
}
5459
}

Advanced.Algorithms.Tests/DataStructures/Heap/Max/BinomialMaxHeap_Tests.cs

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,68 +15,55 @@ public class BinomialMaxHeap_Tests
1515
[TestMethod]
1616
public void BinomialMaxHeap_Test()
1717
{
18-
1918
int nodeCount = 1000 * 10;
2019
//insert test
2120
var tree = new BinomialMaxHeap<int>();
2221

23-
var nodePointers = new List<BinomialHeapNode<int>>();
24-
2522
for (int i = 0; i <= nodeCount; i++)
2623
{
27-
var node = tree.Insert(i);
28-
nodePointers.Add(node);
29-
var theoreticalTreeCount = Convert.ToString(i + 1, 2).Replace("0", "").Length;
30-
var actualTreeCount = tree.heapForest.Count();
31-
32-
Assert.AreEqual(theoreticalTreeCount, actualTreeCount);
24+
tree.Insert(i);
3325
}
3426

3527
for (int i = 0; i <= nodeCount; i++)
3628
{
37-
nodePointers[i].Value++;
38-
tree.IncrementKey(nodePointers[i]);
29+
tree.IncrementKey(i, i + 1);
3930
}
4031
int max = 0;
41-
for (int i = nodeCount; i >=0 ; i--)
32+
for (int i = nodeCount; i >= 0; i--)
4233
{
4334
max = tree.ExtractMax();
44-
Assert.AreEqual(i + 1, max);
35+
Assert.AreEqual(max, i + 1);
4536
}
4637

47-
nodePointers.Clear();
38+
//IEnumerable tests.
39+
Assert.AreEqual(tree.Count, tree.Count());
4840

4941
var rnd = new Random();
5042
var testSeries = Enumerable.Range(0, nodeCount - 1).OrderBy(x => rnd.Next()).ToList();
5143

52-
5344
foreach (var item in testSeries)
5445
{
55-
nodePointers.Add(tree.Insert(item));
56-
}
57-
58-
max = tree.ExtractMax();
59-
nodePointers = nodePointers.Where(x => x.Value != max).ToList();
60-
var resultSeries = new List<int>();
61-
62-
for (int i = 0; i < nodePointers.Count; i++)
63-
{
64-
nodePointers[i].Value = nodePointers[i].Value + rnd.Next(0, 1000);
65-
tree.IncrementKey(nodePointers[i]);
46+
tree.Insert(item);
6647
}
6748

68-
foreach (var item in nodePointers)
49+
for (int i = 0; i < testSeries.Count; i++)
6950
{
70-
resultSeries.Add(item.Value);
51+
var incremented = testSeries[i] + rnd.Next(0, 1000);
52+
tree.IncrementKey(testSeries[i], incremented);
53+
testSeries[i] = incremented;
7154
}
7255

73-
resultSeries = resultSeries.OrderByDescending(x => x).ToList();
56+
testSeries = testSeries.OrderByDescending(x => x).ToList();
7457

7558
for (int i = 0; i < nodeCount - 2; i++)
7659
{
7760
max = tree.ExtractMax();
78-
Assert.AreEqual(resultSeries[i], max);
61+
Assert.AreEqual(testSeries[i], max);
7962
}
63+
64+
//IEnumerable tests.
65+
Assert.AreEqual(tree.Count, tree.Count());
66+
8067
}
8168
}
8269
}

Advanced.Algorithms.Tests/DataStructures/Heap/Max/D-aryMaxHeap_Tests.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
namespace Advanced.Algorithms.Tests.DataStructures
88
{
99
[TestClass]
10-
public class AsD_aryMaxTree_Tests
10+
public class D_aryMaxTree_Tests
1111
{
1212
/// <summary>
1313
/// A tree test
@@ -20,7 +20,7 @@ public void D_ary_MaxHeap_Test()
2020
var initial = new List<int>(Enumerable.Range(0, 51)
2121
.OrderBy(x => rnd.Next()));
2222

23-
var tree = new D_aryMaxHeap<int>(4, initial);
23+
var tree = new DaryMaxHeap<int>(4, initial);
2424
for (int i = 51; i <= 99; i++)
2525
{
2626
tree.Insert(i);
@@ -32,6 +32,9 @@ public void D_ary_MaxHeap_Test()
3232
Assert.AreEqual(max, i);
3333
}
3434

35+
//IEnumerable tests.
36+
Assert.AreEqual(tree.Count, tree.Count());
37+
3538
var testSeries = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).ToList();
3639

3740
foreach (var item in testSeries)
@@ -45,6 +48,8 @@ public void D_ary_MaxHeap_Test()
4548
Assert.AreEqual(i, max);
4649
}
4750

51+
//IEnumerable tests.
52+
Assert.AreEqual(tree.Count, tree.Count());
4853
}
4954
}
5055
}

0 commit comments

Comments
 (0)