public void Test2()
        {
            var problem = new LargestRectangleInHistogram();
            var input   = new List <int> {
                12, 43, 65, 76, 84, 29, 95, 12, 86, 93, 100, 34, 54, 92, 82, 21, 43
            };
            var expectedOutput = 258;
            var output         = problem.Solve(input);

            Assert.AreEqual(expectedOutput, output);
        }
        public void Test1()
        {
            var problem = new LargestRectangleInHistogram();
            var input   = new List <int> {
                2, 1, 5, 6, 2, 3
            };
            var expectedOutput = 10;
            var output         = problem.Solve(input);

            Assert.AreEqual(expectedOutput, output);
        }
 public void LargetRectInHistogramNormalCase()
 {
     int[] testCase1 = new int[] { 2, 1, 5, 6, 2, 3 };
     int[] testCase2 = new int[] { 2, 2, 2, 2, 2, 2 };
     int[] testCase3 = new int[] { 2, 2, 2, 1, 2};
     int[] testCase4 = new int[] { 2, 2, 1, 2, 2};
     LargestRectangleInHistogram l = new LargestRectangleInHistogram();
     Assert.AreEqual(l.LargestRectangleArea(testCase1), 10);
     Assert.AreEqual(l.LargestRectangleArea(testCase2), 12);
     Assert.AreEqual(l.LargestRectangleArea(testCase3), 6);
     Assert.AreEqual(l.LargestRectangleArea(testCase4), 5);
 }
Exemple #4
0
        public void TestLargestRectangleInHistogram()
        {
            var r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 3 });

            Assert.AreEqual(r, 10);

            r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 10000 });
            Assert.AreEqual(r, 10000);

            r = LargestRectangleInHistogram.Find(new[] { 2, 1, 5, 6, 2, 50, 51, 54, 55, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 190 });
            Assert.AreEqual(r, 200);
        }