Added jest

Removed generator-exercises folder as it breaks jest-codemods

run jest-codemods on .spec.js files, move generator-exercises back in

Change references from Jasmine to Jest in main readme

Update README with Jest specific language. Update some spec files with new syntax

update tests, multiple exercises

.gitignore: Added package-lock.json, package.json that were used when I ran code-blocks over the tests.

Standardised function declaration calls across exercises

fix typo in caesar.spec.js

Ignoring package-lock.json, package.json

Backtrack on .gitignore modification, add instructions to readme

move files from testing repo to this repo

Typo fixes, remove duplicate exercise folder

Remove solution from non-solution branch

Minor grammatical fixes

added trailing semicolon to all function and module exports

Fix words caught by search/replace action.

remove doubled semicolon.

Correct words caught by search/replace action.

Add missing semicolon.

Add .DS_Store to .gitignore

multiple files: Added a blank line at the end of each file

Ignore generator-exercise when linting exercise files

Update exercise number of each exercise

Update exercise number
This commit is contained in:
Michael Frank
2021-03-03 15:13:24 +13:00
committed by Kevin Mulhern
parent 4c771f2e05
commit 5708c3d85a
53 changed files with 6259 additions and 322 deletions
+10
View File
@@ -0,0 +1,10 @@
This exercise is tricky and was removed from our recommendations because it mostly leverages regular expressions for the solution, and those aren't really taught at this point in our curriculum.
Leaving it here for posterity, or a good challenge for anyone that wants to give it a shot.
Pig Latin is a children's language that is intended to be confusing when spoken quickly. Your job for this exercise is to create a solution that takes the words given and
turns them into pig latin. Please see the following wikipedia page for details regarding the rules of Pig Latin:
https://en.wikipedia.org/wiki/Pig_Latin
The rules section will give the rules and the examples that are required to complete this exercise.
+5
View File
@@ -0,0 +1,5 @@
function pigLatin(string) {
};
module.exports = pigLatin;
+56
View File
@@ -0,0 +1,56 @@
const pigLatin = require('./pigLatin')
// Topics
// * modules
// * strings
// Pig Latin
// Pig Latin is a made-up children's language that's intended to be confusing. test obeys a few simple rules (below) but when test's spoken quickly test's really difficult for non-children (and non-native speakers) to understand.
// Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word.
// Rule 2: If a word begins with a consonant sound, move test to the end of the word, and then add an "ay" sound to the end of the word.
// (There are a few more rules for edge cases, and there are regional variants too, but that should be enough to understand the tests.)
// See https://en.wikipedia.org/wiki/Pig_Latin for more details.
describe('translate', () => {
test('translates a word beginning with a vowel', () => {
expect(pigLatin("apple")).toBe('appleay');
});
test.skip('translates a word beginning with a consonant', () => {
expect(pigLatin("banana")).toBe("ananabay");
});
test.skip('translates a word beginning with two consonants', () => {
expect(pigLatin("cherry")).toBe('errychay');
});
test.skip('translates two words', () => {
expect(pigLatin("eat pie")).toBe('eatay iepay');
});
test.skip('translates a word beginning with three consonants', () => {
expect(pigLatin("three")).toBe("eethray");
});
test.skip('counts "sch" as a single phoneme', () => {
expect(pigLatin("school")).toBe("oolschay");
});
test.skip('counts "qu" as a single phoneme', () => {
expect(pigLatin("quiet")).toBe("ietquay");
});
test.skip('counts "qu" as a consonant even when its preceded by a consonant', () => {
expect(pigLatin("square")).toBe("aresquay");
});
test.skip('translates many words', () => {
expect(pigLatin("the quick brown fox")).toBe("ethay ickquay ownbray oxfay");
});
});