From 2eb02ea2120f96a122f05cbc84b2fd41d7c43563 Mon Sep 17 00:00:00 2001 From: Michael Frank Date: Wed, 10 Mar 2021 00:12:25 +1300 Subject: [PATCH] update tests, multiple exercises --- caesar/caesar.spec.js | 43 +++++++------- calculator/calculator.spec.js | 78 ++++++++++++------------- fibonacci/fibonacci.spec.js | 40 ++++++------- findTheOldest/findTheOldest.spec.js | 16 ++--- getTheTitles/getTheTitles.spec.js | 8 +-- helloWorld/helloWorld.js | 2 +- helloWorld/helloWorld.spec.js | 13 +---- leapYears/leapYears.spec.js | 27 +++++---- palindromes/palindromes.spec.js | 28 ++++----- pig_latin/pigLatin.spec.js | 46 ++++++++------- removeFromArray/removeFromArray.spec.js | 32 +++++----- 11 files changed, 161 insertions(+), 172 deletions(-) diff --git a/caesar/caesar.spec.js b/caesar/caesar.spec.js index 24de84c..3ff9a35 100644 --- a/caesar/caesar.spec.js +++ b/caesar/caesar.spec.js @@ -1,26 +1,23 @@ -const expect = require('expect'); const caesar = require('./caesar') -describe('caesar', function() { - test('works with single letters', function() { - expect(caesar('A', 1)).toBe('B'); - }); - test.skip('works with words', function() { - expect(caesar('Aaa', 1)).toBe('Bbb'); - }); - test.skip('works with phrases', function() { - expect(caesar('Hello, World!', 5)).toBe('Mjqqt, Btwqi!'); - }); - test.skip('works with negative shift', function() { - expect(caesar('Mjqqt, Btwqi!', -5)).toBe('Hello, World!'); - }); - test.skip('wraps', function() { - expect(caesar('Z', 1)).toBe('A'); - }); - test.skip('works with large shift factors', function() { - expect(caesar('Hello, World!', 75)).toBe('Ebiil, Tloia!'); - }); - test.skip('works with large negative shift factors', function() { - expect(caesar('Hello, World!', -29)).toBe('Ebiil, Tloia!'); - }); +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 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('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 negative shift factors', () => { + expect(caesar('Hello, World!', -29)).toBe('Ebiil, Tloia!'); }); diff --git a/calculator/calculator.spec.js b/calculator/calculator.spec.js index 0badb08..c1c74a8 100644 --- a/calculator/calculator.spec.js +++ b/calculator/calculator.spec.js @@ -1,77 +1,77 @@ -const expect = require('expect');const calculator = require ('./calculator.js'); +const calculator = require ('./calculator.js'); -describe('add', function() { - it('adds 0 and 0', function() { - expect(calculator.add(0,0)).toEqual(0); +describe('add', () => { + test('adds 0 and 0', () => { + expect(calculator.add(0,0)).toBe(0); }); - xit('adds 2 and 2', function() { - expect(calculator.add(2,2)).toEqual(4); + test.skip('adds 2 and 2', () => { + expect(calculator.add(2,2)).toBe(4); }); - xit('adds positive numbers', function() { - expect(calculator.add(2,6)).toEqual(8); + test.skip('adds positive numbers', () => { + expect(calculator.add(2,6)).toBe(8); }); }); -describe('subtract', function() { - xit('subtracts numbers', function() { - expect(calculator.subtract(10,4)).toEqual(6); +describe('subtract', () => { + test.skip('subtracts numbers', () => { + expect(calculator.subtract(10,4)).toBe(6); }); }); -describe('sum', function() { - xit('computes the sum of an empty array', function() { - expect(calculator.sum([])).toEqual(0); +describe('sum', () => { + test.skip('computes the sum of an empty array', () => { + expect(calculator.sum([])).toBe(0); }); - xit('computes the sum of an array of one number', function() { - expect(calculator.sum([7])).toEqual(7); + test.skip('computes the sum of an array of one number', () => { + expect(calculator.sum([7])).toBe(7); }); - xit('computes the sum of an array of two numbers', function() { - expect(calculator.sum([7,11])).toEqual(18); + test.skip('computes the sum of an array of two numbers', () => { + expect(calculator.sum([7,11])).toBe(18); }); - xit('computes the sum of an array of many numbers', function() { - expect(calculator.sum([1,3,5,7,9])).toEqual(25); + test.skip('computes the sum of an array of many numbers', () => { + expect(calculator.sum([1,3,5,7,9])).toBe(25); }); }); -describe('multiply', function() { - xit('multiplies two numbers', function() { - expect(calculator.multiply([2,4])).toEqual(8); +describe('multiply', () => { + test.skip('multiplies two numbers', () => { + expect(calculator.multiply([2,4])).toBe(8); }); - xit('multiplies several numbers', function() { - expect(calculator.multiply([2,4,6,8,10,12,14])).toEqual(645120); + test.skip('multiplies several numbers', () => { + expect(calculator.multiply([2,4,6,8,10,12,14])).toBe(645120); }); }); -describe('power', function() { - xit('raises one number to the power of another number', function() { - expect(calculator.power(4,3)).toEqual(64); // 4 to third power is 64 +describe('power', () => { + test.skip('raises one number to the power of another number', () => { + expect(calculator.power(4,3)).toBe(64); // 4 to third power is 64 }); }); -describe('factorial', function() { - xit('computes the factorial of 0', function() { - expect(calculator.factorial(0)).toEqual(1); // 0! = 1 +describe('factorial', () => { + test.skip('computes the factorial of 0', () => { + expect(calculator.factorial(0)).toBe(1); // 0! = 1 }); - xit('computes the factorial of 1', function() { - expect(calculator.factorial(1)).toEqual(1); + test.skip('computes the factorial of 1', () => { + expect(calculator.factorial(1)).toBe(1); }); - xit('computes the factorial of 2', function() { - expect(calculator.factorial(2)).toEqual(2); + test.skip('computes the factorial of 2', () => { + expect(calculator.factorial(2)).toBe(2); }); - xit('computes the factorial of 5', function() { - expect(calculator.factorial(5)).toEqual(120); + test.skip('computes the factorial of 5', () => { + expect(calculator.factorial(5)).toBe(120); }); - xit('computes the factorial of 10', function() { - expect(calculator.factorial(10)).toEqual(3628800); + test.skip('computes the factorial of 10', () => { + expect(calculator.factorial(10)).toBe(3628800); }); }); diff --git a/fibonacci/fibonacci.spec.js b/fibonacci/fibonacci.spec.js index 062b8bd..7f62213 100644 --- a/fibonacci/fibonacci.spec.js +++ b/fibonacci/fibonacci.spec.js @@ -1,31 +1,31 @@ -const expect = require('expect');const fibonacci = require('./fibonacci') +const fibonacci = require('./fibonacci') -describe('fibonacci', function() { - it('works', function() { - expect(fibonacci(4)).toEqual(3); +describe('fibonacci', () => { + test('4th fibonacci number is 3', () => { + expect(fibonacci(4)).toBe(3); }); - xit('works', function() { - expect(fibonacci(6)).toEqual(8); + test.skip('6th fibonacci number is 8', () => { + expect(fibonacci(6)).toBe(8); }); - xit('works', function() { - expect(fibonacci(10)).toEqual(55); + test.skip('10th fibonacci number is 55', () => { + expect(fibonacci(10)).toBe(55); }); - xit('works', function() { - expect(fibonacci(15)).toEqual(610); + test.skip('15th fibonacci number is 610', () => { + expect(fibonacci(15)).toBe(610); }); - xit('works', function() { - expect(fibonacci(25)).toEqual(75025); + test.skip('25th fibonacci number is 75025', () => { + expect(fibonacci(25)).toBe(75025); }); - xit('doesn\'t accept negatives', function() { - expect(fibonacci(-25)).toEqual("OOPS"); + test.skip('doesn\'t accept negatives', () => { + expect(fibonacci(-25)).toBe("OOPS"); }); - xit('DOES accept strings', function() { - expect(fibonacci("1")).toEqual(1); + test.skip('DOES accept strings', () => { + expect(fibonacci("1")).toBe(1); }); - xit('DOES accept strings', function() { - expect(fibonacci("2")).toEqual(1); + test.skip('DOES accept strings', () => { + expect(fibonacci("2")).toBe(1); }); - xit('DOES accept strings', function() { - expect(fibonacci("8")).toEqual(21); + test.skip('DOES accept strings', () => { + expect(fibonacci("8")).toBe(21); }); }); diff --git a/findTheOldest/findTheOldest.spec.js b/findTheOldest/findTheOldest.spec.js index 0e58328..54ac8fe 100644 --- a/findTheOldest/findTheOldest.spec.js +++ b/findTheOldest/findTheOldest.spec.js @@ -1,7 +1,7 @@ -const expect = require('expect');let findTheOldest = require('./findTheOldest') +const findTheOldest = require('./findTheOldest') -describe('findTheOldest', function() { - it('finds the oldest person!', function() { +describe('findTheOldest', () => { + test('finds the oldest person!', () => { const people = [ { name: 'Carly', @@ -19,9 +19,9 @@ describe('findTheOldest', function() { yearOfDeath: 1941 }, ] - expect(findTheOldest(people).name).toEqual('Ray'); + expect(findTheOldest(people).name).toBe('Ray'); }); - xit('finds the oldest person if someone is still living', function() { + test.skip('finds the oldest person if someone is still living', () => { const people = [ { name: 'Carly', @@ -38,9 +38,9 @@ describe('findTheOldest', function() { yearOfDeath: 1941 }, ] - expect(findTheOldest(people).name).toEqual('Ray'); + expect(findTheOldest(people).name).toBe('Ray'); }); - xit('finds the oldest person if the OLDEST is still living', function() { + test.skip('finds the oldest person if the OLDEST is still living', () => { const people = [ { name: 'Carly', @@ -57,7 +57,7 @@ describe('findTheOldest', function() { yearOfDeath: 1941 }, ] - expect(findTheOldest(people).name).toEqual('Carly'); + expect(findTheOldest(people).name).toBe('Carly'); }); }); diff --git a/getTheTitles/getTheTitles.spec.js b/getTheTitles/getTheTitles.spec.js index 5860f83..c321534 100644 --- a/getTheTitles/getTheTitles.spec.js +++ b/getTheTitles/getTheTitles.spec.js @@ -1,6 +1,6 @@ -const expect = require('expect');let getTheTitles = require('./getTheTitles') +const getTheTitles = require('./getTheTitles') -describe('getTheTitles', function() { +describe('getTheTitles', () => { const books = [ { title: 'Book', @@ -12,8 +12,8 @@ describe('getTheTitles', function() { } ] - it('gets titles', function() { - expect(getTheTitles(books)).toEqual(['Book','Book2']); + test('gets titles', () => { + expect(getTheTitles(books)).toBe(['Book','Book2']); }); }); diff --git a/helloWorld/helloWorld.js b/helloWorld/helloWorld.js index 9ac756b..29e76b9 100644 --- a/helloWorld/helloWorld.js +++ b/helloWorld/helloWorld.js @@ -1,5 +1,5 @@ const helloWorld = function() { - return 'Yello Wold!' + return '' } module.exports = helloWorld; diff --git a/helloWorld/helloWorld.spec.js b/helloWorld/helloWorld.spec.js index dc67b32..af40823 100644 --- a/helloWorld/helloWorld.spec.js +++ b/helloWorld/helloWorld.spec.js @@ -1,14 +1,5 @@ -const expect = require('expect'); const helloWorld = require('./helloWorld'); -// describe('Hello World', function() { -// it('says hello world', function() { -// expect(helloWorld()).toEqual('Hello, World!'); -// }); -// }); - -describe('helloWorld', function() { - test('says "Hello, World!"', function() { - expect(helloWorld()).toBe("Hello, World!"); - }) +test('says "Hello, World!"', function() { + expect(helloWorld()).toBe("Hello, World!"); }); \ No newline at end of file diff --git a/leapYears/leapYears.spec.js b/leapYears/leapYears.spec.js index 5c3a36b..6fdaba9 100644 --- a/leapYears/leapYears.spec.js +++ b/leapYears/leapYears.spec.js @@ -1,23 +1,22 @@ -const expect = require('expect'); const leapYears = require('./leapYears') -describe('leapYears', function() { - it('works with non century years', function() { - expect(leapYears(1996)).toEqual(true); +describe('leapYears', () => { + test('works with non century years', () => { + expect(leapYears(1996)).toBe(true); }); - xit('works with non century years', function() { - expect(leapYears(1997)).toEqual(false); + test.skip('works with non century years', () => { + expect(leapYears(1997)).toBe(false); }); - xit('works with ridiculously futuristic non century years', function() { - expect(leapYears(34992)).toEqual(true); + test.skip('works with ridiculously futuristic non century years', () => { + expect(leapYears(34992)).toBe(true); }); - xit('works with century years', function() { - expect(leapYears(1900)).toEqual(false); + test.skip('works with century years', () => { + expect(leapYears(1900)).toBe(false); }); - xit('works with century years', function() { - expect(leapYears(1600)).toEqual(true); + test.skip('works with century years', () => { + expect(leapYears(1600)).toBe(true); }); - xit('works with century years', function() { - expect(leapYears(700)).toEqual(false); + test.skip('works with century years', () => { + expect(leapYears(700)).toBe(false); }); }); diff --git a/palindromes/palindromes.spec.js b/palindromes/palindromes.spec.js index 9ba89d0..7920de6 100644 --- a/palindromes/palindromes.spec.js +++ b/palindromes/palindromes.spec.js @@ -1,23 +1,23 @@ -const expect = require('expect');const palindromes = require('./palindromes') +const palindromes = require('./palindromes') -describe('palindromes', function() { - it('works with single words', function() { - expect(palindromes('racecar')).toEqual(true); +describe('palindromes', () => { + test('works with single words', () => { + expect(palindromes('racecar')).toBe(true); }); - xit('works with punctuation ', function() { - expect(palindromes('racecar!')).toEqual(true); + test.skip('works with punctuation ', () => { + expect(palindromes('racecar!')).toBe(true); }); - xit('works with upper-case letters ', function() { - expect(palindromes('Racecar!')).toEqual(true); + test.skip('works with upper-case letters ', () => { + expect(palindromes('Racecar!')).toBe(true); }); - xit('works with multiple words', function() { - expect(palindromes('A car, a man, a maraca.')).toEqual(true); + test.skip('works with multiple words', () => { + expect(palindromes('A car, a man, a maraca.')).toBe(true); }); - xit('works with multiple words', function() { - expect(palindromes('Animal loots foliated detail of stool lamina.')).toEqual(true); + test.skip('works with multiple words', () => { + expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true); }); - xit('doesn\'t just always return true', function() { - expect(palindromes('ZZZZ car, a man, a maraca.')).toEqual(false); + test.skip('doesn\'t just always return true', () => { + expect(palindromes('ZZZZ car, a man, a maraca.')).toBe(false); }); }); diff --git a/pig_latin/pigLatin.spec.js b/pig_latin/pigLatin.spec.js index 8bf0952..184f162 100644 --- a/pig_latin/pigLatin.spec.js +++ b/pig_latin/pigLatin.spec.js @@ -1,15 +1,17 @@ -const expect = require("expect");// Topics +const expect = require("expect"); + +// Topics // * modules // * strings // Pig Latin -// Pig Latin is a made-up children's language that's intended to be confusing. It obeys a few simple rules (below) but when it's spoken quickly it's really difficult for non-children (and non-native speakers) to understand. +// 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 it to the end of the word, and then 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.) @@ -17,48 +19,48 @@ const expect = require("expect");// Topics const pigLatin = require("./pigLatin.js"); -describe('#translate', function() { - it('translates a word beginning with a vowel', function() { +describe('translate', () => { + test('translates a word beginning with a vowel', () => { s = pigLatin.translate("apple"); - expect(s).toEqual('appleay'); + expect(s).toBe('appleay'); }); - xit('translates a word beginning with a consonant', function() { + test.skip('translates a word beginning with a consonant', () => { s = pigLatin.translate("banana"); - expect(s).toEqual("ananabay"); + expect(s).toBe("ananabay"); }); - xit('translates a word beginning with two consonants', function() { + test.skip('translates a word beginning with two consonants', () => { s = pigLatin.translate("cherry"); - expect(s).toEqual('errychay'); + expect(s).toBe('errychay'); }); - xit('translates two words', function() { + test.skip('translates two words', () => { s = pigLatin.translate("eat pie"); - expect(s).toEqual('eatay iepay'); + expect(s).toBe('eatay iepay'); }); - xit('translates a word beginning with three consonants', function() { - expect(pigLatin.translate("three")).toEqual("eethray"); + test.skip('translates a word beginning with three consonants', () => { + expect(pigLatin.translate("three")).toBe("eethray"); }); - xit('counts "sch" as a single phoneme', function() { + test.skip('counts "sch" as a single phoneme', () => { s = pigLatin.translate("school"); - expect(s).toEqual("oolschay"); + expect(s).toBe("oolschay"); }); - xit('counts "qu" as a single phoneme', function() { + test.skip('counts "qu" as a single phoneme', () => { s = pigLatin.translate("quiet"); - expect(s).toEqual("ietquay"); + expect(s).toBe("ietquay"); }); - xit('counts "qu" as a consonant even when its preceded by a consonant', function() { + test.skip('counts "qu" as a consonant even when its preceded by a consonant', () => { s = pigLatin.translate("square"); - expect(s).toEqual("aresquay"); + expect(s).toBe("aresquay"); }); - xit('translates many words', function() { + test.skip('translates many words', () => { s = pigLatin.translate("the quick brown fox"); - expect(s).toEqual("ethay ickquay ownbray oxfay"); + expect(s).toBe("ethay ickquay ownbray oxfay"); }); }); diff --git a/removeFromArray/removeFromArray.spec.js b/removeFromArray/removeFromArray.spec.js index 32a498b..efd1415 100644 --- a/removeFromArray/removeFromArray.spec.js +++ b/removeFromArray/removeFromArray.spec.js @@ -1,25 +1,25 @@ -const expect = require('expect');const removeFromArray = require('./removeFromArray') +const removeFromArray = require('./removeFromArray') -describe('removeFromArray', function() { - it('removes a single value', function() { - expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]); +describe('removeFromArray', () => { + test('removes a single value', () => { + expect(removeFromArray([1, 2, 3, 4], 3)).toBe([1, 2, 4]); }); - xit('removes multiple values', function() { - expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]); + test.skip('removes multiple values', () => { + expect(removeFromArray([1, 2, 3, 4], 3, 2)).toBe([1, 4]); }); - xit('ignores non present values', function() { - expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]); + test.skip('ignores non present values', () => { + expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toBe([1, 2, 3, 4]); }); - xit('ignores non present values, but still works', function() { - expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]); + test.skip('ignores non present values, but still works', () => { + expect(removeFromArray([1, 2, 3, 4], 7, 2)).toBe([1, 3, 4]); }); - xit('can remove all values', function() { - expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]); + test.skip('can remove all values', () => { + expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toBe([]); }); - xit('works with strings', function() { - expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]); + test.skip('works with strings', () => { + expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toBe([2, "ho"]); }); - xit('only removes same type', function() { - expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]); + test.skip('only removes same type', () => { + expect(removeFromArray([1, 2, 3], "1", 3)).toBe([1, 2]); }); });