/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/java/com/thealgorithms/dynamicprogramming/LongestArithmeticSubsequenceTest.java
35 строк
2 KB
Tejaswi Tyagi
Adds Longest Arithmetic Subsequence Implementation (#5501)
03 окт 2024, 16:04
Не верифицирован
03 окт 2024, 16:04
be8df21
Код
Авторство
О чём код?
package com.thealgorithms.dynamicprogramming; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.stream.Stream; import org.apache.commons.lang3.ArrayUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; public class LongestArithmeticSubsequenceTest { @ParameterizedTest @MethodSource("provideTestCases") void testGetLongestArithmeticSubsequenceLength(int[] nums, int expected) { assertEquals(expected, LongestArithmeticSubsequence.getLongestArithmeticSubsequenceLength(nums)); } @ParameterizedTest @MethodSource("provideTestCases") void testGetLongestArithmeticSubsequenceLengthReversedInput(int[] nums, int expected) { ArrayUtils.reverse(nums); assertEquals(expected, LongestArithmeticSubsequence.getLongestArithmeticSubsequenceLength(nums)); } @Test void testGetLongestArithmeticSubsequenceLengthThrowsForNullInput() { assertThrows(IllegalArgumentException.class, () -> LongestArithmeticSubsequence.getLongestArithmeticSubsequenceLength(null)); } private static Stream<Arguments> provideTestCases() { return Stream.of(Arguments.of(new int[] {3, 6, 9, 12, 15}, 5), Arguments.of(new int[] {1, 7, 10, 13, 14, 19}, 4), Arguments.of(new int[] {1, 2, 3, 4}, 4), Arguments.of(new int[] {}, 0), Arguments.of(new int[] {10}, 1), Arguments.of(new int[] {9, 4, 7, 2, 10}, 3), Arguments.of(new int[] {1, 2, 2, 2, 2, 5}, 4)); } }