-
Notifications
You must be signed in to change notification settings - Fork 299
/
Copy pathDisJointSet_Tests.cs
43 lines (33 loc) · 1.23 KB
/
DisJointSet_Tests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System.Linq;
using Advanced.Algorithms.DataStructures;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Advanced.Algorithms.Tests.DataStructures
{
[TestClass]
public class DisJointSetTests
{
[TestMethod]
public void Smoke_Test_DisJointSet()
{
var disjointSet = new DisJointSet<int>();
for (var i = 1; i <= 7; i++) disjointSet.MakeSet(i);
//IEnumerable test
Assert.AreEqual(disjointSet.Count, disjointSet.Count());
disjointSet.Union(1, 2);
Assert.AreEqual(1, disjointSet.FindSet(2));
disjointSet.Union(2, 3);
Assert.AreEqual(1, disjointSet.FindSet(3));
disjointSet.Union(4, 5);
Assert.AreEqual(4, disjointSet.FindSet(4));
disjointSet.Union(5, 6);
Assert.AreEqual(4, disjointSet.FindSet(5));
disjointSet.Union(6, 7);
Assert.AreEqual(4, disjointSet.FindSet(6));
Assert.AreEqual(4, disjointSet.FindSet(4));
disjointSet.Union(3, 4);
Assert.AreEqual(1, disjointSet.FindSet(4));
//IEnumerable test
Assert.AreEqual(disjointSet.Count, disjointSet.Count());
}
}
}