public void StackMachine()
        {
            Assert.AreEqual(76, InterviewExercises.StackMachine("13+62*7+*"));
            Assert.AreEqual(-1, InterviewExercises.StackMachine("11++"));

            Assert.AreEqual(-1, InterviewExercises.StackMachine(""));

            StringBuilder s = new StringBuilder();

            for (int i = 0; i < 200000; i++)
            {
                s.Append('1');
            }
            Assert.AreEqual(1, InterviewExercises.StackMachine(s.ToString()));
            Assert.AreEqual(-1, InterviewExercises.StackMachine($"+{s.ToString().Substring(0, s.Length - 1) }"));

            s = new StringBuilder();
            s.Append("2");
            for (int i = 0; i < 100000; i++)
            {
                s.Append("2+");
            }
            Assert.AreEqual(200002, InterviewExercises.StackMachine(s.ToString()));

            s = new StringBuilder();
            s.Append("9");
            for (int i = 0; i < 100000; i++)
            {
                s.Append("9*");
            }
            Assert.AreEqual(1944332553, InterviewExercises.StackMachine(s.ToString()));
        }
 public void ComplementaryPair()
 {
     Assert.AreEqual(5, InterviewExercises.ComplementaryPair(4, new int[] { 2, 5, -1, 6, 10, -2 }));
     Assert.AreEqual(3, InterviewExercises.ComplementaryPair(10, new int[] { 1, 5, 9 }));
     Assert.AreEqual(7, InterviewExercises.ComplementaryPair(6, new int[] { 1, 8, -3, 0, 1, 3, -2, 4, 5 }));
     Assert.AreEqual(0, InterviewExercises.ComplementaryPair(0, new int[] { -2147483648, 2147483647 }));
     Assert.AreEqual(2, InterviewExercises.ComplementaryPair(0, new int[] { -2147483648, 2147483647, -2147483647 }));
 }
 public void Deviation()
 {
     Assert.AreEqual(-1, InterviewExercises.Deviation(new int[] { }));
     Assert.AreEqual(3, InterviewExercises.Deviation(new int[] { 9, 4, -3, -10 }));
     Assert.AreEqual(3, InterviewExercises.Deviation(new int[] { 2, 7, -12, -16, 3, 5, -12 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { -16, 7, -12, 2, 3, 5, -12 }));
     Assert.AreEqual(6, InterviewExercises.Deviation(new int[] { -12, 7, -12, 2, 3, 5, -16 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { 1000 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { 0 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { -2147483648 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { -2147483648, 2147483647 }));
     Assert.AreEqual(0, InterviewExercises.Deviation(new int[] { 2147483647 }));
 }