dist-javascript-algorithms-and-data-structures
Version:
Algorithms and data-structures implemented on JavaScript
37 lines (34 loc) • 2.47 kB
JavaScript
;
var _regularExpressionMatching = _interopRequireDefault(require("../regularExpressionMatching"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('regularExpressionMatching', () => {
it('should match regular expressions in a string', () => {
expect((0, _regularExpressionMatching.default)('', '')).toBe(true);
expect((0, _regularExpressionMatching.default)('a', 'a')).toBe(true);
expect((0, _regularExpressionMatching.default)('aa', 'aa')).toBe(true);
expect((0, _regularExpressionMatching.default)('aab', 'aab')).toBe(true);
expect((0, _regularExpressionMatching.default)('aab', 'aa.')).toBe(true);
expect((0, _regularExpressionMatching.default)('aab', '.a.')).toBe(true);
expect((0, _regularExpressionMatching.default)('aab', '...')).toBe(true);
expect((0, _regularExpressionMatching.default)('a', 'a*')).toBe(true);
expect((0, _regularExpressionMatching.default)('aaa', 'a*')).toBe(true);
expect((0, _regularExpressionMatching.default)('aaab', 'a*b')).toBe(true);
expect((0, _regularExpressionMatching.default)('aaabb', 'a*b*')).toBe(true);
expect((0, _regularExpressionMatching.default)('aaabb', 'a*b*c*')).toBe(true);
expect((0, _regularExpressionMatching.default)('', 'a*')).toBe(true);
expect((0, _regularExpressionMatching.default)('xaabyc', 'xa*b.c')).toBe(true);
expect((0, _regularExpressionMatching.default)('aab', 'c*a*b*')).toBe(true);
expect((0, _regularExpressionMatching.default)('mississippi', 'mis*is*.p*.')).toBe(true);
expect((0, _regularExpressionMatching.default)('ab', '.*')).toBe(true);
expect((0, _regularExpressionMatching.default)('', 'a')).toBe(false);
expect((0, _regularExpressionMatching.default)('a', '')).toBe(false);
expect((0, _regularExpressionMatching.default)('aab', 'aa')).toBe(false);
expect((0, _regularExpressionMatching.default)('aab', 'baa')).toBe(false);
expect((0, _regularExpressionMatching.default)('aabc', '...')).toBe(false);
expect((0, _regularExpressionMatching.default)('aaabbdd', 'a*b*c*')).toBe(false);
expect((0, _regularExpressionMatching.default)('mississippi', 'mis*is*p*.')).toBe(false);
expect((0, _regularExpressionMatching.default)('ab', 'a*')).toBe(false);
expect((0, _regularExpressionMatching.default)('abba', 'a*b*.c')).toBe(false);
expect((0, _regularExpressionMatching.default)('abba', '.*c')).toBe(false);
});
});