Files
Java/src/test/java/com/thealgorithms/dynamicprogramming/MaximumSumOfNonAdjacentElementsTest.java
2024-10-10 21:07:44 +03:00

53 lines
2.0 KiB
Java

package com.thealgorithms.dynamicprogramming;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class MaximumSumOfNonAdjacentElementsTest {
// Tests for Approach1
@Test
public void testGetMaxSumApproach1WithEmptyArray() {
assertEquals(0, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {})); // Empty array
}
@Test
public void testGetMaxSumApproach1WithSingleElement() {
assertEquals(1, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {1})); // Single element
}
@Test
public void testGetMaxSumApproach1WithTwoElementsTakeMax() {
assertEquals(2, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {1, 2})); // Take max of both
}
@Test
public void testGetMaxSumApproach1WithMultipleElements() {
assertEquals(15, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {3, 2, 5, 10, 7})); // 3 + 7 + 5
assertEquals(10, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {5, 1, 1, 5})); // 5 + 5
}
// Tests for Approach2
@Test
public void testGetMaxSumApproach2WithEmptyArray() {
assertEquals(0, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {})); // Empty array
}
@Test
public void testGetMaxSumApproach2WithSingleElement() {
assertEquals(1, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {1})); // Single element
}
@Test
public void testGetMaxSumApproach2WithTwoElementsTakeMax() {
assertEquals(2, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {1, 2})); // Take max of both
}
@Test
public void testGetMaxSumApproach2WithMultipleElements() {
assertEquals(15, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {3, 2, 5, 10, 7})); // 3 + 7 + 5
assertEquals(10, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {5, 1, 1, 5})); // 5 + 5
}
}