Update files

This commit is contained in:
thatblindgeye
2023-01-21 12:53:41 -05:00
parent fb1a2db8d7
commit 4a112362c8
31 changed files with 571 additions and 449 deletions
+11 -11
View File
@@ -1,8 +1,8 @@
const caesar = function (string, shift) {
return string
.split('')
.map((char) => shiftChar(char, shift))
.join('');
return string
.split("")
.map((char) => shiftChar(char, shift))
.join("");
};
const codeSet = (code) => (code < 97 ? 65 : 97);
@@ -13,14 +13,14 @@ const codeSet = (code) => (code < 97 ? 65 : 97);
const mod = (n, m) => ((n % m) + m) % m;
const shiftChar = (char, shift) => {
const code = char.charCodeAt();
const code = char.charCodeAt();
if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122)) {
return String.fromCharCode(
mod(code + shift - codeSet(code), 26) + codeSet(code)
);
}
return char;
if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122)) {
return String.fromCharCode(
mod(code + shift - codeSet(code), 26) + codeSet(code)
);
}
return char;
};
module.exports = caesar;
+15 -15
View File
@@ -1,23 +1,23 @@
const caesar = require('./caesar-solution');
const caesar = require("./caesar");
test('works with single letters', () => {
expect(caesar('A', 1)).toBe('B');
test("works with single letters", () => {
expect(caesar("A", 1)).toBe("B");
});
test.skip('works with words', () => {
expect(caesar('Aaa', 1)).toBe('Bbb');
test.skip("works with words", () => {
expect(caesar("Aaa", 1)).toBe("Bbb");
});
test.skip('works with phrases', () => {
expect(caesar('Hello, World!', 5)).toBe('Mjqqt, Btwqi!');
test.skip("works with phrases", () => {
expect(caesar("Hello, World!", 5)).toBe("Mjqqt, Btwqi!");
});
test.skip('works with negative shift', () => {
expect(caesar('Mjqqt, Btwqi!', -5)).toBe('Hello, World!');
test.skip("works with negative shift", () => {
expect(caesar("Mjqqt, Btwqi!", -5)).toBe("Hello, World!");
});
test.skip('wraps', () => {
expect(caesar('Z', 1)).toBe('A');
test.skip("wraps", () => {
expect(caesar("Z", 1)).toBe("A");
});
test.skip('works with large shift factors', () => {
expect(caesar('Hello, World!', 75)).toBe('Ebiil, Tloia!');
test.skip("works with large shift factors", () => {
expect(caesar("Hello, World!", 75)).toBe("Ebiil, Tloia!");
});
test.skip('works with large negative shift factors', () => {
expect(caesar('Hello, World!', -29)).toBe('Ebiil, Tloia!');
test.skip("works with large negative shift factors", () => {
expect(caesar("Hello, World!", -29)).toBe("Ebiil, Tloia!");
});