コード例 #1
0
ファイル: Test_3_5.cs プロジェクト: jkrez/Interview
        private static void Validate <T>(Stack <T> stack)
            where T : IComparable <T>
        {
            var cloneStack = new Stack <T>(stack);

            Question_3_5.SortStack(cloneStack);
            ValidateOrder(cloneStack);
        }
コード例 #2
0
        public void SortStackTest(int[] testNumbers)
        {
            var testStack       = TestHelper.ConvertArrayToStack(testNumbers);
            var expectedNumbers = testNumbers.OrderByDescending(x => x).ToArray();
            var expectedStack   = TestHelper.ConvertArrayToStack(expectedNumbers);
            var resultStack     = Question_3_5.SortStack(testStack);

            Assert.AreEqual(expectedStack.Count, resultStack.Count, "Stack counts do not match.");
            while (resultStack.Count > 0)
            {
                Assert.AreEqual(expectedStack.Pop(), resultStack.Pop(), $"Stacks are not equal at position {resultStack.Count}.");
            }
        }
コード例 #3
0
ファイル: Test_3_5.cs プロジェクト: jkrez/Interview
        public void Question_3_5_InvalidCases()
        {
            Stack <int> s = null;

            TestHelpers.AssertExceptionThrown(() => Question_3_5.SortStack(s), typeof(ArgumentNullException));
        }