public void TestIsEqual() { PascalSet s1 = new PascalSet(0, 50, new int[] { 15, 20, 30, 40, 34 }); PascalSet s2 = new PascalSet(0, 50, new int[] { 20, 25, 30, 35, 40 }); PascalSet s3 = new PascalSet(0, 50, new int[] { 15, 20, 30, 40, 34 }); PascalSet s4 = new PascalSet(10, 50, new int[] { 15, 20, 30, 40, 34 }); Assert.AreEqual(s1.IsEqual(s3), true); Assert.AreEqual(s1.IsEqual(s2), false); Assert.AreEqual(s1.IsEqual(s4), false); }
public void TestUnion() { PascalSet s1 = new PascalSet(0, 50, new int[] { 15, 20, 30 }); PascalSet s2 = new PascalSet(0, 50, new int[] { 15, 25, 30 }); PascalSet s3 = new PascalSet(0, 50, new int[] { 1, 2, 3, 4 }); PascalSet union = s1.Union(s2); Assert.AreEqual(union.Count, 4); for (int i = 0; i <= 50; i++) { if ((i == 15) || (i == 20) || (i == 25) || (i == 30)) { Assert.AreEqual(union[i], true); } else { Assert.AreEqual(union[i], false); } } union = s2.Union(s3); Assert.AreEqual(union.Count, 7); for (int i = 0; i <= 50; i++) { if ((i == 15) || (i == 25) || (i == 30) || (i == 1) || (i == 2) || (i == 3) || (i == 4)) { Assert.AreEqual(union[i], true); } else { Assert.AreEqual(union[i], false); } } PascalSet union2 = s2 + s3; Assert.AreEqual(union2.IsEqual(union), true); }
public void TestInverse() { PascalSet s = new PascalSet(0, 50, new int[] { 15, 20, 30 }); PascalSet inverse = s.Inverse(); for (int i = 0; i <= 50; i++) { if ((i == 15) || (i == 20) || (i == 30)) { Assert.AreEqual(inverse[i], false); } else { Assert.AreEqual(inverse[i], true); } } PascalSet inverse2 = !s; Assert.AreEqual(inverse.IsEqual(inverse2), true); }
public void TestIntersection() { PascalSet s1 = new PascalSet(0, 50, new int[] { 15, 20, 30, 40, 34 }); PascalSet s2 = new PascalSet(0, 50, new int[] { 20, 25, 30, 35, 40 }); PascalSet intersection = s1.Intersection(s2); for (int i = 0; i <= 50; i++) { if ((i == 20) || (i == 30) || (i == 40)) { Assert.AreEqual(intersection[i], true); } else { Assert.AreEqual(intersection[i], false); } } PascalSet intersection2 = s1 * s2; Assert.AreEqual(intersection.IsEqual(intersection2), true); }
public void TestDifference() { PascalSet s1 = new PascalSet(0, 50, new int[] { 20, 30, 40 }); PascalSet s2 = new PascalSet(0, 50, new int[] { 20, 25, 30, 35, 40 }); PascalSet difference = s1.Difference(s2); for (int i = 0; i < 50; i++) { if ((i == 25) || (i == 35)) { Assert.AreEqual(difference[i], true); } else { Assert.AreEqual(difference[i], false); } } PascalSet difference2 = s1 - s2; Assert.AreEqual(difference.IsEqual(difference2), true); }
public void TestNullIsEqual() { PascalSet set = new PascalSet(20); set.IsEqual(null); }