コード例 #1
0
        public void TestArrayWithOnlyTwoItem()
        {
            int[] dataArray = { 2, 8 };
            int   area      = new ContainerWithMostWater().GetContainerWithMostWater(dataArray);

            Assert.AreEqual(2, area);
        }
コード例 #2
0
        public void NotEnoughLinesReturnsNegativeOne()
        {
            var container = new ContainerWithMostWater();
            var lines     = new[] { 1 };

            Assert.Equal(-1, container.MaxArea(lines));
        }
コード例 #3
0
        public void MaxArea_GivenAnIntArray_ReturnMaxArea(int[] array, int expectedResult)
        {
            var cwmw   = new ContainerWithMostWater();
            var result = cwmw.MaxArea(array);

            result.Should().Be(expectedResult);
        }
コード例 #4
0
        public void LargeArrayTimeOut_TwoPointer()
        {
            int[]     input         = GenerateVeryLargeArray();
            const int expectedValue = 56250000;

            Assert.AreEqual(ContainerWithMostWater.MaxAreaTwoPointer(input), expectedValue);
        }
コード例 #5
0
        public void OnlyTwoLinesReturnsArea()
        {
            var container = new ContainerWithMostWater();
            var lines     = new[] { 1, 3 };

            Assert.Equal(1, container.MaxArea(lines));
        }
コード例 #6
0
        public void MaxArea(int[] height, int expected)
        {
            var sut    = new ContainerWithMostWater();
            var actual = sut.MaxArea(height);

            Assert.AreEqual(expected, actual);
        }
コード例 #7
0
        public void TestContainerWithMostWater()
        {
            var arr = new[] { 5, 7, 8, 1, 15, 3, 4 };
            var r   = ContainerWithMostWater.GetMax(arr);

            Assert.AreEqual(r, 60);
        }
コード例 #8
0
        public void ExampleInput_TwoPointer()
        {
            int[]     input         = new int[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 };
            const int expectedValue = 49;

            Assert.AreEqual(ContainerWithMostWater.MaxAreaTwoPointer(input), expectedValue);
        }
コード例 #9
0
        public void TestStandardCase()
        {
            int[] dataArray = { 1, 8, 6, 2, 5, 4, 8, 3, 7 };
            int   area      = new ContainerWithMostWater().GetContainerWithMostWater(dataArray);

            Assert.AreEqual(49, area);
        }
コード例 #10
0
        public void Test_ContainerWithMostWater()

        {
            int[] input  = { 1, 2, 4, 3 };
            int   result = ContainerWithMostWater.MaxArea(input);

            Assert.AreEqual(result, 4);
        }
コード例 #11
0
        public void MaxArea_Success()
        {
            var height         = new int[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 };
            var expectedResult = 49;
            var result         = new ContainerWithMostWater().MaxArea(height);

            Assert.AreEqual(result, expectedResult);
        }
コード例 #12
0
        public void SampleInputShouldReturn49()
        {
            var sw = new Stopwatch();

            var container = new ContainerWithMostWater();

            var lines = new[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 };

            Assert.Equal(49, container.MaxArea(lines));
        }
コード例 #13
0
        public void Given_213_Then_4()
        {
            // Arrange
            var algo = new ContainerWithMostWater();

            // Action
            var actual = algo.MaxArea(new int[] { 2, 1, 3 });

            // Assert
            Assert.AreEqual(4, actual);
        }
コード例 #14
0
        public void Given_186254837_Then_49()
        {
            // Arrange
            var algo = new ContainerWithMostWater();

            // Action
            var actual = algo.MaxArea(new int[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 });

            // Assert
            Assert.AreEqual(49, actual);
        }
コード例 #15
0
        public void ContainerWithMostWaterTest(int[] input, int expected)
        {
            var containerWithMostWater = new ContainerWithMostWater();

            var actual = containerWithMostWater.MaxAreaNormalSolution(input);

            Assert.That(actual, Is.EqualTo(expected));

            actual = containerWithMostWater.MaxAreaBetterSolution(input);

            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #16
0
        public void MaxArea_ShouldReturn_MaximumAreaBetweenTwoLines(
            int[] heights,
            int expectedMaximumArea)
        {
            // Arrange
            var container = new ContainerWithMostWater();

            // Act
            var maximumArea = container.MaxArea(heights);

            // Assert
            maximumArea.Should().Be(expectedMaximumArea);
        }
コード例 #17
0
 public ContainerWithMostWaterTests()
 {
     _objUnderTest = new ContainerWithMostWater();
 }
コード例 #18
0
ファイル: MediumTests.cs プロジェクト: ShockThunder/LeetCode
        public int ContainerWithMostWater(int[] height)
        {
            var solver = new ContainerWithMostWater();

            return(solver.Solution(height));
        }
コード例 #19
0
        public void MaxAreaTestCase1()
        {
            var input = new[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 };

            ContainerWithMostWater.MaxArea(input).Should().Be(49);
        }
        public static void ArrayBased_ContainerWithMostWater_GetMaxAreaValues(int[] inputArray, int expectedMaxArea)
        {
            var outputMaxArea = ContainerWithMostWater.FindMaxArea(inputArray);

            Assert.Equal(expectedMaxArea, outputMaxArea);
        }
コード例 #21
0
        public void When_single_p_Then_hight()
        {
            var hight = new int[] { 5 };

            Assert.AreEqual(0, ContainerWithMostWater.MaxArea(hight));
        }
コード例 #22
0
        public void When_three_p_Then_max()
        {
            var hight = new int[] { 2, 5, 6 };

            Assert.AreEqual(5, ContainerWithMostWater.MaxArea(hight));
        }
コード例 #23
0
        public void When_two_p_Then_small_2()
        {
            var hight = new int[] { 5, 6 };

            Assert.AreEqual(5, ContainerWithMostWater.MaxArea(hight));
        }
コード例 #24
0
        public void MaxAreaTestCase3()
        {
            var input = new[] { 4, 3, 2, 1, 4 };

            ContainerWithMostWater.MaxArea(input).Should().Be(16);
        }
コード例 #25
0
        public void MaxAreaTestCase5()
        {
            var input = new[] { 2, 1 };

            ContainerWithMostWater.MaxArea(input).Should().Be(1);
        }
コード例 #26
0
        public void MaxAreaTestCase6()
        {
            var input = new[] { 2, 3, 4, 5, 18, 17, 6 };

            ContainerWithMostWater.MaxArea(input).Should().Be(17);
        }
コード例 #27
0
        public void MaxAreaTestCase7()
        {
            var input = new[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

            ContainerWithMostWater.MaxArea(input).Should().Be(25);
        }
コード例 #28
0
        void InternalTest(int[] height, int expected)
        {
            int value = ContainerWithMostWater.SmartMaxArea(height);

            Assert.Equal <int>(expected, value);
        }
コード例 #29
0
 public void BeforeEach()
 {
     ContainerWithMostWater = new ContainerWithMostWater();
 }