Skip to content

Commit d594f68

Browse files
committed
Added tests for longest alternating subsequence algorithm
1 parent 642999e commit d594f68

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

pydatastructs/linear_data_structures/tests/test_algorithms.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
cocktail_shaker_sort, quick_sort, longest_common_subsequence, is_ordered,
66
upper_bound, lower_bound, longest_increasing_subsequence, next_permutation,
77
prev_permutation, bubble_sort, linear_search, binary_search, jump_search,
8-
selection_sort, insertion_sort, intro_sort, Backend)
8+
selection_sort, insertion_sort, intro_sort, longest_alternating_subsequence, Backend)
99

1010
from pydatastructs.utils.raises_util import raises
1111
import random
@@ -414,3 +414,32 @@ def test_binary_search():
414414
def test_jump_search():
415415
_test_common_search(jump_search)
416416
_test_common_search(jump_search, backend=Backend.CPP)
417+
418+
419+
def test_longest_alternating_subsequence():
420+
ODA = OneDimensionalArray
421+
422+
arr1 = ODA(int, [-4, 3, -5, 9, 10, 12, 2, -1])
423+
output: OneDimensionalArray = longest_alternating_subsequence(arr1)
424+
expected_result = [3, -5, 9, 2, -1]
425+
assert len(expected_result) == output
426+
427+
arr2 = ODA(int, [10, 22, 9, 33, 49, 50, 31, 60])
428+
output: OneDimensionalArray = longest_alternating_subsequence(arr2)
429+
expected_result = [10, 22, 9, 33, 31, 60]
430+
assert len(expected_result) == output
431+
432+
arr3 = ODA(int, [1, 2, 3, 4, 5, 6, 7, 8, 9])
433+
output: OneDimensionalArray = longest_alternating_subsequence(arr3)
434+
expected_result = [1, 2]
435+
assert len(expected_result) == output
436+
437+
arr4 = ODA(int, [9, 8, 7, 6, 5, 4, 3, 2, 1])
438+
output: OneDimensionalArray = longest_alternating_subsequence(arr4)
439+
expected_result = [9, 8]
440+
assert len(expected_result) == output
441+
442+
arr5 = ODA(int, [1, 5, 4, 3, 2, 1, 6, 7, 8, 9])
443+
output: OneDimensionalArray = longest_alternating_subsequence(arr5)
444+
expected_result = [1, 5, 4, 6]
445+
assert len(expected_result) == output

0 commit comments

Comments
 (0)