예제 #1
0
 //To test Intersection method
 static void DisplayIntersection(IntegerSet set1, IntegerSet set2)
 {
     IntegerSet intersection = set1.Intersection(set2);
     Console.WriteLine("Intersection Method: " + intersection.ToString());
 }
예제 #2
0
        public void Combine()
        {
            _set1.Clear();
            _set2.Clear();
            ErrorText        = "";
            UnionText        = "---";
            IntersectionText = "---";
            errorMessage[0]  = "";
            errorMessage[1]  = "";

            try
            {
                string[] array1 = Set1Input.Split(',');
                string[] array2 = Set2Input.Split(',');

                int[] arrayUno = new int[array1.Length];
                int[] arrayDos = new int[array2.Length];

                for (int i = 0; i < arrayUno.Length; i++)
                {
                    arrayUno[i] = Int32.Parse(array1[i]);
                }
                for (int i = 0; i < arrayDos.Length; i++)
                {
                    arrayDos[i] = Int32.Parse(array2[i]);
                }

                foreach (uint i in arrayUno)
                {
                    try
                    {
                        if (i > 100)
                        {
                            throw new System.ArgumentException("value can't be greater than 100", "Set 1");
                            break;
                        }
                        //uint j = uint.Parse(i);
                        _set1.InsertElement(i);
                        ErrorText = "";
                    }
                    catch (Exception e)
                    {
                        errorMessage[0]  = e.Message;
                        UnionText        = "---";
                        IntersectionText = "---";
                    }
                }
                foreach (uint i in arrayDos)
                {
                    try
                    {
                        if (i > 100)
                        {
                            throw new System.ArgumentException("value can't be greater than 100", "Set 2");
                            break;
                        }
                        //uint j = uint.Parse(i);
                        _set2.InsertElement(i);
                        ErrorText = "";
                    }
                    catch (Exception e)
                    {
                        errorMessage[1]  = "\n" + e.Message;
                        UnionText        = "---";
                        IntersectionText = "---";
                    }
                }
            }
            catch (Exception e)
            {
                errorMessage[0]  = e.Message;
                UnionText        = "---";
                IntersectionText = "---";
            }

            if (errorMessage[0] == "" && errorMessage[1] == "")
            {
                IntersectionText = "---";
                UnionText        = "---";
                ErrorText        = "";
                IntegerSet intersectSet = _set1.Intersection(_set2);
                IntegerSet unionSet     = _set1.Union(_set2);
                UnionText        = unionSet.ToString();
                IntersectionText = intersectSet.ToString();
                ErrorText        = "SUCCESS!";
            }
            else
            {
                ErrorText = errorMessage[0] + "\n" + errorMessage[1];
            }
        }
예제 #3
0
    static void Main(string[] args)
    {
        try
          {
         // Test for the empty set
         IntegerSet empty = new IntegerSet();
         Console.WriteLine("Low Range: {0}", empty.LOW_RANGE);
         Console.WriteLine("High Range: {0}", empty.HIGH_RANGE);
         Console.WriteLine("Empty set: {0} \n", empty);

         // Test InsertElement method is set A
         IntegerSet setA = new IntegerSet();
         setA.InsertElement(0);
         setA.InsertElement(1);
         setA.InsertElement(50);
         setA.InsertElement(100);
         Console.WriteLine("Insert elements in Set A: {0}", setA);

         // Test InsertElement method is set B
         IntegerSet setB = new IntegerSet();
         setB.InsertElement(100);
         setB.InsertElement(99);
         setB.InsertElement(50);
         setB.InsertElement(0);
         Console.WriteLine("Insert elements in Set B: {0} \n", setB);

         // Test DeleteElement method in set A and B
         setA.DeleteElement(100);
         setA.DeleteElement(99); // element not in set
         setB.DeleteElement(0);
         Console.WriteLine("Delete 100 from Set A: {0}", setA);
         Console.WriteLine("Delete 0 from Set B: {0} \n", setB);

         // Test Union method for set A and B
         IntegerSet unionSet = setA.Union(setB);
         Console.WriteLine("Union of A and B: {0} \n", unionSet);

         // Test Intersection method for set A and B
         IntegerSet intersectSet = setA.Intersection(setB);
         Console.WriteLine("Intersection of A and B: {0} \n", intersectSet);

         // Test IsEqualTo method for set A, B, and C
         IntegerSet setC = new IntegerSet();
         setC.InsertElement(0);
         setC.InsertElement(1);
         setC.InsertElement(50);
         Console.WriteLine("Set A: {0}", setA);
         Console.WriteLine("Set B: {0}", setB);
         Console.WriteLine("Set C: {0}", setC);
         Console.WriteLine("Is Set A equal to Set B? {0}", setA.IsEqualTo(setB));
         Console.WriteLine("Is Set A equal to Set C? {0} \n", setA.IsEqualTo(setC));

         // Test isValid private method
         Console.WriteLine("Try to insert element 999");
         setA.InsertElement(999);
          }

          catch (IndexOutOfRangeException ex)
          {
         Console.WriteLine("*******************************************");
         Console.WriteLine(ex.Message);
         Console.WriteLine("*******************************************");
          }

          // Freeze console window
          Console.ReadLine();
    }