dist-javascript-algorithms-and-data-structures
Version:
Algorithms and data-structures implemented on JavaScript
20 lines (13 loc) • 1.4 kB
JavaScript
;
var _shortestCommonSupersequence = _interopRequireDefault(require("../shortestCommonSupersequence"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('shortestCommonSupersequence', () => {
it('should find shortest common supersequence of two sequences', () => {
// LCS (longest common subsequence) is empty
expect((0, _shortestCommonSupersequence.default)(['A', 'B', 'C'], ['D', 'E', 'F'])).toEqual(['A', 'B', 'C', 'D', 'E', 'F']); // LCS (longest common subsequence) is "EE"
expect((0, _shortestCommonSupersequence.default)(['G', 'E', 'E', 'K'], ['E', 'K', 'E'])).toEqual(['G', 'E', 'K', 'E', 'K']); // LCS (longest common subsequence) is "GTAB"
expect((0, _shortestCommonSupersequence.default)(['A', 'G', 'G', 'T', 'A', 'B'], ['G', 'X', 'T', 'X', 'A', 'Y', 'B'])).toEqual(['A', 'G', 'G', 'X', 'T', 'X', 'A', 'Y', 'B']); // LCS (longest common subsequence) is "BCBA".
expect((0, _shortestCommonSupersequence.default)(['A', 'B', 'C', 'B', 'D', 'A', 'B'], ['B', 'D', 'C', 'A', 'B', 'A'])).toEqual(['A', 'B', 'D', 'C', 'A', 'B', 'D', 'A', 'B']); // LCS (longest common subsequence) is "BDABA".
expect((0, _shortestCommonSupersequence.default)(['B', 'D', 'C', 'A', 'B', 'A'], ['A', 'B', 'C', 'B', 'D', 'A', 'B', 'A', 'C'])).toEqual(['A', 'B', 'C', 'B', 'D', 'C', 'A', 'B', 'A', 'C']);
});
});