Esempio n. 1
0
        public void IntegerSet_Constructor_Test()
        {
            IntegerSet end = new IntegerSet(1, 2, 3, 4, 5);

            Assert.AreEqual(5, end.Count);
            Assert.AreEqual(1, end[0]);
            Assert.AreEqual(2, end[1]);
            Assert.AreEqual(3, end[2]);
            Assert.AreEqual(4, end[3]);
            Assert.AreEqual(5, end[4]);
        }
Esempio n. 2
0
 // Method comparing two objects data within an array
 public bool IsEqualTo(IntegerSet k)
 {
     for(int i = 0; i < array1.Length; i++)
     {
         if (k.array1[i] != array1[i])
         {
             return false;
         }
     }
     return true;
 }
Esempio n. 3
0
        public void IntegerSet_AddOperator_Test()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start + 8;

            Assert.AreEqual(5, end.Count);
            Assert.AreEqual(9, end[0]);
            Assert.AreEqual(10, end[1]);
            Assert.AreEqual(11, end[2]);
            Assert.AreEqual(12, end[3]);
            Assert.AreEqual(13, end[4]);
        }
Esempio n. 4
0
        private Boolean TextToIntset(string text, IntegerSet set)
        {
            // check if the input text is empty or null
            if (String.IsNullOrWhiteSpace(text))
            {
                set.Clear();
                return(true);
            }
            // if the text has characters, try to add in a set
            try
            {
                foreach (var x in text.Split(','))
                {
                    try
                    {
                        set.InsertElement(Int32.Parse(x));
                    }
                    catch (FormatException e)
                    {
                        set.Clear();
                        StatusOut = e.Message;
                        return(false);
                    }
                    catch (ArgumentNullException e)
                    {
                        set.Clear();
                        StatusOut = e.Message;
                        return(false);
                    }
                    catch (OverflowException e)
                    {
                        set.Clear();
                        StatusOut = e.Message;
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                StatusOut = e.Message;
                return(false);
            }

            return(true);
        }
Esempio n. 5
0
        /// <summary>
        /// Return an integer set from the input string (comma seperated list of integers)
        /// </summary>
        /// <param name="input"></param>
        /// <returns>null is input string is invalid</returns>
        private static IntegerSet GetNumbers(string input)
        {
            IntegerSet set = new IntegerSet();
            string[] numbers = input.Split(',');
            if (numbers.Length == 0)
                return null;

            foreach (string c in numbers)
            {
                int result;
                if (int.TryParse(c.Trim(), out result))
                    set.Add(result);
                else
                    return null;
            }

            return set;
        }
Esempio n. 6
0
            /// <summary>
            /// b. Method Intersection creates a third set which is the set-theoretic intersection of two existing sets (i.e., an element of the third set's
            ///    array is set to false if that element is false in either or both of the existing sets - otherwise, the element of the third set is set to true).
            /// </summary>
            /// <param name="rightSet"></param> Comparing the left and right set
            /// <returns></returns> A intersection set that shows the repeating values from both left and right sets.
            public IntegerSet Intersection(IntegerSet secondSet)
            {
                // Create a temporary set to return back to the main that acts as the Intersection Set.
                IntegerSet tempSet = new IntegerSet();

                // Create a for loop to traverse through both sets to form a separate Intersection Set
                for (int index = 0; index <= 100; index++)
                {
                    // Condition statement to combine both sets to find commonality.
                    if ((_integers[index] == true) && (secondSet._integers[index] == true))
                    {
                        tempSet._integers[index] = true;
                    }
                }

                // Return Intersection Set
                return(tempSet);
            }
Esempio n. 7
0
            /// <summary>
            /// a. Method Union creates a third set that is the set-theoretic union of two existing sets (i.e., an element of the third set's array
            ///    is set to true if that element is true in either or both of the existing sets-otherwise, the element of the third set is set to false).
            /// </summary>
            /// <param name="rightSet"></param> Comparing the left and right set.
            /// <returns></returns> A union set that contains both numbers of both sets and shows duplicate only once.
            public IntegerSet Union(IntegerSet secondSet)
            {
                // Create a temporary set to return back to the main that acts as the Union Set
                IntegerSet tempSet = new IntegerSet();

                // Create a for loop to traverse through both sets to form a separate Union Set
                for (int index = 0; index <= 100; index++)
                {
                    // Condition statement to combine both sets while dealing with duplicates
                    if ((_integers[index] == true) || (secondSet._integers[index] == true))
                    {
                        tempSet._integers[index] = true;
                    }
                }

                // Return Temporary Set
                return(tempSet);
            }
        private static IntegerSet BuildRequiredCompilerWarningsSet()
        {
            var result = new IntegerSet();

            result.Add(4018);
            result.Add(4146);
            result.Add(4244);
            result.Add(4267);
            result.Add(4302);
            result.Add(4308);
            result.Add(4509);
            result.Add(4532);
            result.Add(4533);
            result.Add(4700);
            result.Add(4789);
            result.Add(4995);
            result.Add(4996);
            return(result);
        }
Esempio n. 9
0
    /// <summary>
    /// This function finds the union between two IntegerSet objects and returns the set.
    /// </summary>
    /// <param name="otherSet">The other IntegerSet object.</param>
    /// <returns>The resultant set which contains the union of the two sets.</returns>
    public IntegerSet Union(IntegerSet otherSet)
    {
        IntegerSet resultSet = new IntegerSet();
        int        counter   = 0;

        foreach (bool value in otherSet.Set)
        {
            if (value)
            {
                resultSet.Set[counter] = true;
            }
            else if (_set[counter])
            {
                resultSet.Set[counter] = true;
            }
            counter++;
        }

        return(resultSet);
    }
        public AtomicActionRendererTest()
        {
            _record         = new RecordingActionRenderer <Arithmetic>();
            _renderer       = new AtomicActionRenderer <Arithmetic>(_record);
            _fx             = new IntegerSet(new BigInteger?[] { 0 }, null, new[] { _renderer });
            (_successTx, _) = _fx.Sign(
                0,
                Arithmetic.Add(1),
                Arithmetic.Mul(2),
                Arithmetic.Add(3)
                );

            // failing transaction; should not be rendered:
            _fx.Sign(
                0,
                Arithmetic.Add(1),
                new Arithmetic(),
                Arithmetic.Add(3)
                );
            _record.ResetRecords();
        }
        private static IntegerSet BuildRequiredCompilerWarningsSet()
        {
            var result = new IntegerSet
            {
                4018,
                4146,
                4244,
                4267,
                4302,
                4308,
                4509,
                4532,
                4533,
                4700,
                4789,
                4995,
                4996
            };

            return(result);
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            IntegerSet set1 = new IntegerSet(); //New up the IntegerSet for set1
            IntegerSet set2 = new IntegerSet(); //New up the IntegerSet for set2
            IntegerSet set3 = new IntegerSet(); //New up the IntegerSet for set3
            set1.InsertElement(1); //Set 1 of numbers to test
            set1.InsertElement(2);
            set1.InsertElement(3);
            set1.InsertElement(10);
            set1.InsertElement(5);
            set2.InsertElement(3); //Set 2 of number to test
            set2.InsertElement(4);
            set2.InsertElement(5);
            set2.InsertElement(10);
            set2.InsertElement(12);
            set3.InsertElement(1); //Set 3 of number to test
            set3.InsertElement(2);
            set3.InsertElement(3);
            set3.InsertElement(10);
            set3.InsertElement(5);
            set3.InsertElement(99);

            Console.WriteLine("Set 1: " + set1.ToString()); //Display the ToString method
            Console.WriteLine("Set 2: " + set2.ToString()); //Display the ToString method

            DisplayUnion(set1,set2); //Display Union method
            DisplayIntersection(set1, set2); //Display Intersection method
            DisplayInsertElement(set1); //Display InsertElement method
            DisplayDeleteElement(set2); //Display DeleteElement method
            DisplayEmptyIntegerSet(); //Display EmptyIntegerSet method

            if (!set1.IsEqualTo(set2)) //To test the IsEqualTo method
            {
                Console.WriteLine("Set 1 is NOT equal to Set 2");
            }
            if (set1.IsEqualTo(set3))
            {
                Console.WriteLine("Set 1 is equal to Set 3");
            }
        }
Esempio n. 13
0
    private static void TestingCtors()
    {
        Console.WriteLine("Testing c'tors / d'tor: ");

        IntegerSet s1 = new IntegerSet();

        Console.WriteLine("s1: {0}", s1);

        int[]      elems1 = { -2, -1, 0, 1, 2, -1, -2 };
        IntegerSet s2     = new IntegerSet(elems1);

        Console.WriteLine("s2: {0}", s2);

        int[]      elems2 = { -1, 1, 2, 3, 1, 2, 3, 1, 2, 3, -1 };
        IntegerSet s3     = new IntegerSet(elems2);

        Console.WriteLine("s3: {0}", s3);

        Console.WriteLine("s1.IsEmpty: {0}", s1.IsEmpty);
        Console.WriteLine("s2.IsEmpty: {0}", s2.IsEmpty);
        Console.WriteLine("s3.IsEmpty: {0}", s3.IsEmpty);
    }
Esempio n. 14
0
    private static void TestingOperators()
    {
        // testing union set
        IntegerSet s1 = new IntegerSet();
        IntegerSet s2 = new IntegerSet();

        for (int i = 0; i < 7; i++)
        {
            s1.Insert(i);
        }
        for (int i = 2; i < 9; i++)
        {
            s2.Insert(i);
        }
        Console.WriteLine("s1: {0}", s1);
        Console.WriteLine("s2: {0}", s2);
        Console.WriteLine("s1+s2: {0}", s1 + s2);

        // testing intersection set
        Console.WriteLine("s1^s2: {0}", s1 ^ s2);

        // testing ==-operator
        Console.WriteLine("s1 == s2: {0}", s1 == s2);
        s2.Insert(0);
        s2.Insert(1);
        s2.Remove(7);
        s2.Remove(8);
        Console.WriteLine("s2: {0}", s2);
        Console.WriteLine("s1 == s2: {0}", s1 == s2);
        Console.WriteLine("s1 != s2: {0}", s1 != s2);

        // testing subset operator
        Console.WriteLine("s1: {0}", s1);
        Console.WriteLine("s2: {0}", s2);
        Console.WriteLine("s1 <= s2: {0}", s1 <= s2);
        s1.Insert(7);
        Console.WriteLine("s1: {0}", s1);
        Console.WriteLine("s1 <= s2: {0}", s1 <= s2);
    }
Esempio n. 15
0
    private static void TestingRemove()
    {
        IntegerSet s = new IntegerSet();

        for (int i = 0; i < 20; i++)
        {
            s.Insert(i);
        }
        Console.WriteLine("s: {0}", s);

        s.Remove(5);
        s.Remove(1);
        s.Remove(8);
        Console.WriteLine("s: {0}", s);

        s.Remove(11);
        Console.WriteLine("s: {0}", s);

        s.Remove(16);
        Console.WriteLine("s: {0}", s);

        s.Remove(19);
        Console.WriteLine("s: {0}", s);
    }
Esempio n. 16
0
        private static void PlayGame()
        {
            Console.WriteLine("How many big numbers would you like, please enter a number between 1 and 6");
            ConsoleKeyInfo input = Console.ReadKey();
            int            numBigNumbers;
            string         keyValue = input.KeyChar.ToString();

            while (!int.TryParse(keyValue, out numBigNumbers) ||
                   numBigNumbers < 1 ||
                   numBigNumbers > 6)
            {
                Console.WriteLine();
                Console.WriteLine("Invalid number entered");
                Console.WriteLine("Please enter a number between 1 and 6");
                input    = Console.ReadKey();
                keyValue = input.KeyChar.ToString();
            }

            // Calculate the numbers used in this game
            List <int> numbers = new List <int>();

            for (int i = 0; i < numBigNumbers; ++i)
            {
                numbers.Add(RandomNumberHelper.RandomIntegerFromSet(25, 50, 75, 100));
            }

            for (int i = 0; i < 6 - numBigNumbers; ++i)
            {
                numbers.Add(RandomNumberHelper.RandomInteger(1, 10));
            }
            IntegerSet sourceNumbers = new IntegerSet(numbers);

            int targetNumber = RandomNumberHelper.RandomInteger(101, 999);

            Console.WriteLine();
            Console.WriteLine("The game is to find {0} from the set of numbers {1}, you have 30 seconds starting from now", targetNumber, sourceNumbers.ToString());
            Console.WriteLine();

            // Show Timer
            Task timer = Task.Factory.StartNew(() => TimerCountDown(30));

            // Calculate Answer
            DownCountGame    game            = new DownCountGame(targetNumber, sourceNumbers);
            Task <Solutions> calculationTask = CalculateSoultionASync(game);

            timer.Wait();

            // Display Result
            if (calculationTask.IsCompleted)
            {
                try
                {
                    Solutions solutions = calculationTask.Result;
                    if (solutions.Count == 0)
                    {
                        Console.WriteLine("Downcount could not find a solution");
                    }
                    else
                    {
                        IEquation solution = solutions[0];
                        if (solution.Value == game.TargetNumber)
                        {
                            Console.WriteLine("Downcount found an exact solution");
                            Console.WriteLine("{0} = {1}", targetNumber, solution.ToString());
                        }
                        else
                        {
                            decimal closeValue = solution.Value;
                            Console.WriteLine("Downcount found a solution within {0} of the original target number", game.TargetNumber - closeValue);
                            Console.WriteLine("{0} = {1}", solution.Value, solution.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("An error occured calculating the solution: {0}", ex.ToString()));
                }
            }
            else
            {
                // We ran out of time
                Console.WriteLine("Downcount could not find a solution in the time given");
            }
            Console.WriteLine();
        }
Esempio n. 17
0
        public void IntegerSet_DivideOperatorTest2()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start / 8;

            Assert.AreEqual(0, end.Count);
        }
Esempio n. 18
0
        public void IntegerSet_DivideOperatorTest1()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start / 2;

            Assert.AreEqual(2, end.Count);
            Assert.AreEqual(1, end[0]);
            Assert.AreEqual(2, end[1]);
        }
Esempio n. 19
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();
    }
Esempio n. 20
0
 //To test InsertElement method
 static void DisplayInsertElement(IntegerSet set1)
 {
     Console.WriteLine("Before InsertElement in Set 2: " + set1.ToString());
     set1.InsertElement(99);
     Console.WriteLine("After InsertElement in Set 2: " + set1.ToString());
 }
Esempio n. 21
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];
            }
        }
Esempio n. 22
0
        public void Calculate()
        {
            set1.Clear();
            set2.Clear();
            try
            {
                ErrorTextOutput     = "";
                TopBoxTextOutput    = "";
                BottomBoxTextOutput = "";

                string[] input1String = _topBoxTextInput.Split(',');
                string[] input2String = _bottomBoxTextInput.Split(',');
                int      size1        = input1String.Length;
                int      size2        = input2String.Length;
                int[]    input1       = new int[size1];
                int[]    input2       = new int[size2];

                for (int i = 0; i < size1; i++)
                {
                    input1[i] = Int32.Parse(input1String[i]);
                }

                for (int i = 0; i < size2; i++)
                {
                    input2[i] = Int32.Parse(input2String[i]);
                }

                foreach (int i in input1)
                {
                    try{
                        set1.InsertElement(i);
                        ErrorTextOutput = "";
                    }catch (Exception e) {
                        ErrorTextOutput     = e.Message;
                        TopBoxTextOutput    = "";
                        BottomBoxTextOutput = "";
                    }
                }

                foreach (int i in input2)
                {
                    try {
                        set2.InsertElement(i);
                        ErrorTextOutput = "";
                    }catch (Exception e) {
                        ErrorTextOutput     = e.Message;
                        TopBoxTextOutput    = "";
                        BottomBoxTextOutput = "";
                    }
                }
            }
            catch (Exception e) {
                ErrorTextOutput     = e.Message;
                TopBoxTextOutput    = "";
                BottomBoxTextOutput = "";
            }
            if (ErrorTextOutput == "")
            {
                TopBoxTextOutput    = "";
                BottomBoxTextOutput = "";
                IntegerSet intersection = set1.Intersection(set2);
                IntegerSet union        = set1.Union(set2);
                TopBoxTextOutput    = union.ToString();
                BottomBoxTextOutput = intersection.ToString();
            }
        }
Esempio n. 23
0
        public void IntegerSet_ToString_Test()
        {
            IntegerSet end = new IntegerSet(1, 2, 3, 4, 5);

            Assert.AreEqual("{1, 2, 3, 4, 5}", end.ToString());
        }
Esempio n. 24
0
        public void IntegerSet_MultiplyOperator_Test()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start * 2;

            Assert.AreEqual(5, end.Count);
            Assert.AreEqual(2, end[0]);
            Assert.AreEqual(4, end[1]);
            Assert.AreEqual(6, end[2]);
            Assert.AreEqual(8, end[3]);
            Assert.AreEqual(10, end[4]);
        }
Esempio n. 25
0
 //To test DeleteElement method
 static void DisplayDeleteElement(IntegerSet set2)
 {
     Console.WriteLine("Before DeleteElement in Set 2: " + set2.ToString());
     set2.DeleteElement(5);
     Console.WriteLine("After DeleteElement in Set 2: " + set2.ToString());
 }
Esempio n. 26
0
 //To test Union method
 static void DisplayUnion(IntegerSet set1, IntegerSet set2)
 {
     IntegerSet union = set1.Union(set2);
     Console.WriteLine("Union Method: " + union.ToString());
 }
Esempio n. 27
0
 //To test Intersection method
 static void DisplayIntersection(IntegerSet set1, IntegerSet set2)
 {
     IntegerSet intersection = set1.Intersection(set2);
     Console.WriteLine("Intersection Method: " + intersection.ToString());
 }
Esempio n. 28
0
 public DownCountGame(int target, params int[] numbers)
 {
     TargetNumber = target;
     Numbers = new IntegerSet(numbers);
 }
Esempio n. 29
0
 public DownCountGame(int target, IEnumerable<int> numbers)
 {
     TargetNumber = target;
     Numbers = new IntegerSet(numbers);
 }
Esempio n. 30
0
        public void Convert() // this function will be called when the compute button is pressed.
        {
            In1Text = In1Text.TrimEnd(',', ' ');
            In2Text = In2Text.TrimEnd(',', ' ');
            string[] arr1 = In1Text.Split(',', ',');
            string[] arr2 = In2Text.Split(',', ','); //seperate words into arrays
            _s1.Clear();
            _s2.Clear();                             //make sure s1 and s2 are clear before use.
            ErrText  = "";                           //clear error message
            ErrColor = Brushes.Black;
            if (In1Text == "")
            {
                ErrText += "Set 1 is empty\n";
            }
            else
            {
                foreach (string i in arr1)
                {
                    try
                    {
                        //if (i == "") continue;
                        uint j = uint.Parse(i);
                        if (j > 100)
                        {
                            throw new Exception("Number Exceed max value 100!");
                        }
                        _s1.InsertElement(j);
                    }
                    catch (Exception e)
                    {
                        ErrColor = Brushes.Red;
                        ErrText += e.Message;
                        _s1.Clear();
                        UnionText = "";
                        InterText = "";
                        return;
                    }
                }
            }

            if (In2Text == "")
            {
                ErrText += "Set 2 is empty\n";
            }
            else
            {
                foreach (string i in arr2)
                {
                    try
                    {
                        //if (i == "") continue;
                        uint j = uint.Parse(i);
                        if (j > 100)
                        {
                            throw new Exception("Number Exceed max value 100!");
                        }
                        _s2.InsertElement(j);
                    }
                    catch (Exception e)
                    {
                        ErrColor = Brushes.Red;
                        ErrText += e.Message;
                        _s2.Clear();
                        UnionText = "";
                        InterText = "";
                        return;
                    }
                }
            }

            IntegerSet inter = _s1.Intersection(_s2);
            IntegerSet uni   = _s1.Union(_s2);

            UnionText = uni.ToString();
            InterText = inter.ToString();
            ErrText  += "Here is the result\n";
        }
 private static IntegerSet BuildRequiredCompilerWarningsSet()
 {
     var result = new IntegerSet();
     result.Add(4018);
     result.Add(4146);
     result.Add(4244);
     result.Add(4267);
     result.Add(4302);
     result.Add(4308);
     result.Add(4509);
     result.Add(4532);
     result.Add(4533);
     result.Add(4700);
     result.Add(4789);
     result.Add(4995);
     result.Add(4996);
     return result;
 }
Esempio n. 32
0
 //To test DisplayEmptyIntegerSet method
 static void DisplayEmptyIntegerSet()
 {
     IntegerSet emptySet = new IntegerSet();
     Console.WriteLine("Empty Set: " + emptySet.ToString());
 }
Esempio n. 33
0
        private static void PlayGame()
        {
            Console.WriteLine("How many big numbers would you like, please enter a number between 1 and 6");
            ConsoleKeyInfo input = Console.ReadKey();
            int numBigNumbers;
            string keyValue = input.KeyChar.ToString();
            while (!int.TryParse(keyValue, out numBigNumbers) ||
                numBigNumbers < 1 ||
                numBigNumbers > 6)
            {
                Console.WriteLine();
                Console.WriteLine("Invalid number entered");
                Console.WriteLine("Please enter a number between 1 and 6");
                input = Console.ReadKey();
                keyValue = input.KeyChar.ToString();
            }

            // Calculate the numbers used in this game
            List<int> numbers = new List<int>();

            for (int i = 0; i < numBigNumbers; ++i)
            {
                numbers.Add(RandomNumberHelper.RandomIntegerFromSet(25, 50, 75, 100));
            }

            for (int i = 0; i < 6 - numBigNumbers; ++i)
            {
                numbers.Add(RandomNumberHelper.RandomInteger(1, 10));
            }
            IntegerSet sourceNumbers = new IntegerSet(numbers);

            int targetNumber = RandomNumberHelper.RandomInteger(101, 999);

            Console.WriteLine();
            Console.WriteLine("The game is to find {0} from the set of numbers {1}, you have 30 seconds starting from now", targetNumber, sourceNumbers.ToString());
            Console.WriteLine();

            // Show Timer
            Task timer = Task.Factory.StartNew(() => TimerCountDown(30));

            // Calculate Answer
            DownCountGame game = new DownCountGame(targetNumber, sourceNumbers);
            Task<Solutions> calculationTask = CalculateSoultionASync(game);

            timer.Wait();

            // Display Result
            if (calculationTask.IsCompleted)
            {
                try
                {
                    Solutions solutions = calculationTask.Result;
                    if (solutions.Count == 0)
                    {
                        Console.WriteLine("Downcount could not find a solution");
                    }
                    else
                    {
                        IEquation solution = solutions[0];
                        if (solution.Value == game.TargetNumber)
                        {
                            Console.WriteLine("Downcount found an exact solution");
                            Console.WriteLine("{0} = {1}", targetNumber, solution.ToString());
                        }
                        else
                        {
                            decimal closeValue = solution.Value;
                            Console.WriteLine("Downcount found a solution within {0} of the original target number", game.TargetNumber - closeValue);
                            Console.WriteLine("{0} = {1}", solution.Value, solution.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("An error occured calculating the solution: {0}", ex.ToString()));
                }
            }
            else
            {
                // We ran out of time
                Console.WriteLine("Downcount could not find a solution in the time given");
            }
            Console.WriteLine();
        }
Esempio n. 34
0
        public void IntegerSet_SubtractOperator_Test()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start - 8;

            Assert.AreEqual(5, end.Count);
            Assert.AreEqual(-7, end[0]);
            Assert.AreEqual(-6, end[1]);
            Assert.AreEqual(-5, end[2]);
            Assert.AreEqual(-4, end[3]);
            Assert.AreEqual(-3, end[4]);
        }
Esempio n. 35
0
        public void IntegerSet_ToString_Test()
        {
            IntegerSet end = new IntegerSet(1, 2, 3, 4, 5);

            Assert.AreEqual("{1, 2, 3, 4, 5}", end.ToString());
        }
Esempio n. 36
0
 public ModelHW()
 {
     setA = new IntegerSet();
     setB = new IntegerSet();
 }
Esempio n. 37
0
 public void IntegerSet_Subset_ArgumentOutOfRangeTest2()
 {
     IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
     IntegerSet end = start.SubsetNotIncluding(-1);
 }
Esempio n. 38
0
 public void IntegerSet_Subset_ArgumentOutOfRangeTest1()
 {
     IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
     IntegerSet end   = start.SubsetNotIncluding(7);
 }
Esempio n. 39
0
        public void IntegerSet_Subset_Test()
        {
            IntegerSet start = new IntegerSet(1, 2, 3, 4, 5);
            IntegerSet end = start.SubsetNotIncluding(1);

            Assert.AreEqual(4, end.Count);
            Assert.AreEqual(1, end[0]);
            Assert.AreEqual(3, end[1]);
            Assert.AreEqual(4, end[2]);
            Assert.AreEqual(5, end[3]);
        }
Esempio n. 40
0
        public void Parsing()
        {
            Assert.IsTrue(IntegerSet.TryParse("[1-10,12-33]", out var set));

            Assert.AreEqual(new IntegerSet((1, 10), (12, 33)), set);
        }