e8fc8ce41e
The previous solution removed numbers entirely, whereas this one treats them like letters and checks if they are evenly spaced. More importantly, the old solution test seemed to check if the numbers were palindromic, but because the solution replaced them with "", it wasn't testing what it seemed to. I added a new test to differentiate between the palindromic "rac3e3car" and the non-palindromic "r3ace3car". These changes also obviate the problems raised in Issue #355.
30 lines
994 B
JavaScript
30 lines
994 B
JavaScript
const palindromes = require('./palindromes-solution');
|
|
|
|
describe('palindromes', () => {
|
|
test('works with single words', () => {
|
|
expect(palindromes('racecar')).toBe(true);
|
|
});
|
|
test('works with punctuation ', () => {
|
|
expect(palindromes('racecar!')).toBe(true);
|
|
});
|
|
test('works with upper-case letters ', () => {
|
|
expect(palindromes('Racecar!')).toBe(true);
|
|
});
|
|
test('works with multiple words', () => {
|
|
expect(palindromes('A car, a man, a maraca.')).toBe(true);
|
|
});
|
|
test('works with multiple words', () => {
|
|
expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(
|
|
true
|
|
);
|
|
});
|
|
test("doesn't just always return true", () => {
|
|
expect(palindromes('ZZZZ car, a man, a maraca.')).toBe(false);
|
|
});
|
|
test('works with numbers in a string', () => {
|
|
expect(palindromes('rac3e3car')).toBe(true);
|
|
});
|
|
test('works with unevenly spaced numbers in a string', () => {
|
|
expect(palindromes('r3ace3car')).toBe(false);
|
|
});
|
|
});
|