Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public void TestNullIsEqual()
        {
            PascalSet set = new PascalSet(20);

            set.IsEqual(null);
        }