mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 16:26:47 +08:00
merge: Add tests and docs for the Longest Common Subsequence algorithm (#867)
* Refactors, adds tests and comments to longest common subsequence algorithm * Refactor docs for longest common subsequence algorithm * Add links to wikipedia and leetcode * Fix styling * Refactor variable naming and jsdoc
This commit is contained in:
32
Dynamic-Programming/tests/LongestCommonSubsequence.test.js
Normal file
32
Dynamic-Programming/tests/LongestCommonSubsequence.test.js
Normal file
@ -0,0 +1,32 @@
|
||||
import { longestCommonSubsequence } from '../LongestCommonSubsequence'
|
||||
|
||||
describe('LongestCommonSubsequence', () => {
|
||||
it('expects to return an empty string for empty inputs', () => {
|
||||
expect(longestCommonSubsequence('', '')).toEqual(''.length)
|
||||
expect(longestCommonSubsequence('aaa', '')).toEqual(''.length)
|
||||
expect(longestCommonSubsequence('', 'bbb')).toEqual(''.length)
|
||||
})
|
||||
|
||||
it('expects to return an empty string for inputs without a common subsequence', () => {
|
||||
expect(longestCommonSubsequence('abc', 'deffgf')).toEqual(''.length)
|
||||
expect(longestCommonSubsequence('de', 'ghm')).toEqual(''.length)
|
||||
expect(longestCommonSubsequence('aupj', 'xyz')).toEqual(''.length)
|
||||
})
|
||||
|
||||
it('expects to return the longest common subsequence, short inputs', () => {
|
||||
expect(longestCommonSubsequence('abc', 'abc')).toEqual('abc'.length)
|
||||
expect(longestCommonSubsequence('abc', 'abcd')).toEqual('abc'.length)
|
||||
expect(longestCommonSubsequence('abc', 'ab')).toEqual('ab'.length)
|
||||
expect(longestCommonSubsequence('abc', 'a')).toEqual('a'.length)
|
||||
expect(longestCommonSubsequence('abc', 'b')).toEqual('b'.length)
|
||||
expect(longestCommonSubsequence('abc', 'c')).toEqual('c'.length)
|
||||
expect(longestCommonSubsequence('abd', 'abcd')).toEqual('abd'.length)
|
||||
expect(longestCommonSubsequence('abd', 'ab')).toEqual('ab'.length)
|
||||
expect(longestCommonSubsequence('abc', 'abd')).toEqual('ab'.length)
|
||||
})
|
||||
|
||||
it('expects to return the longest common subsequence, medium-length inputs', () => {
|
||||
expect(longestCommonSubsequence('bsbininm', 'jmjkbkjkv')).toEqual('b'.length)
|
||||
expect(longestCommonSubsequence('oxcpqrsvwf', 'shmtulqrypy')).toEqual('qr'.length)
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user