//To test Intersection method static void DisplayIntersection(IntegerSet set1, IntegerSet set2) { IntegerSet intersection = set1.Intersection(set2); Console.WriteLine("Intersection Method: " + intersection.ToString()); }
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]; } }
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(); }