diff --git a/challenges/intermediate-bonfires.json b/challenges/intermediate-bonfires.json
index d804919dfd..ef3e7be3f0 100644
--- a/challenges/intermediate-bonfires.json
+++ b/challenges/intermediate-bonfires.json
@@ -19,11 +19,11 @@
"sumAll([1, 4]);"
],
"tests": [
- "expect(sumAll([1, 4])).to.be.a('Number');",
- "expect(sumAll([1, 4])).to.equal(10);",
- "expect(sumAll([4, 1])).to.equal(10);",
- "expect(sumAll([5, 10])).to.equal(45);",
- "expect(sumAll([10, 5])).to.equal(45);"
+ "assert(typeof(sumAll([1, 4])) === \"number\", 'message: sumAll()
should return a number');",
+ "assert.deepEqual(sumAll([1, 4]), 10, 'message: sumAll([1, 4])
should return 10');",
+ "assert.deepEqual(sumAll([4, 1]), 10, 'message: sumAll([4, 1])
should return 10');",
+ "assert.deepEqual(sumAll([5, 10]), 45, 'message: sumAll([5, 10])
should return 45');",
+ "assert.deepEqual(sumAll([10, 5]), 45, 'message: sumAll([10, 5])
should return 45');"
],
"MDNlinks": [
"Math.max()",
@@ -61,13 +61,13 @@
"diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);"
],
"tests": [
- "expect(diff([1, 2, 3, 5], [1, 2, 3, 4, 5])).to.be.a('array');",
- "assert.deepEqual(diff(['diorite', 'andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']), ['pink wool'], 'arrays with only one difference');",
- "assert.includeMembers(diff(['andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']), ['diorite', 'pink wool'], 'arrays with more than one difference');",
- "assert.deepEqual(diff(['andesite', 'grass', 'dirt', 'dead shrub'], ['andesite', 'grass', 'dirt', 'dead shrub']), [], 'arrays with no difference');",
- "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'arrays with numbers');",
- "assert.includeMembers(diff([1, 'calf', 3, 'piglet'], [1, 'calf', 3, 4]), ['piglet', 4], 'arrays with numbers and strings');",
- "assert.deepEqual(diff([], ['snuffleupagus', 'cookie monster', 'elmo']), ['snuffleupagus', 'cookie monster', 'elmo'], 'empty array');"
+ "assert(typeof(diff([1, 2, 3, 5], [1, 2, 3, 4, 5])) === \"object\", 'message: diff()
should return an array.');",
+ "assert.deepEqual(diff(['diorite', 'andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']), ['pink wool'], 'message: ['diorite', 'andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']
should return ['pink wool']
.');",
+ "assert.includeMembers(diff(['andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']), ['diorite', 'pink wool'], 'message: ['andesite', 'grass', 'dirt', 'pink wool', 'dead shrub'], ['diorite', 'andesite', 'grass', 'dirt', 'dead shrub']
should return ['diorite', 'pink wool']
.');",
+ "assert.deepEqual(diff(['andesite', 'grass', 'dirt', 'dead shrub'], ['andesite', 'grass', 'dirt', 'dead shrub']), [], 'message: ['andesite', 'grass', 'dirt', 'dead shrub'], ['andesite', 'grass', 'dirt', 'dead shrub']
should return []
.');",
+ "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5]
should return [4]
.');",
+ "assert.includeMembers(diff([1, 'calf', 3, 'piglet'], [1, 'calf', 3, 4]), ['piglet', 4], 'message: [1, 'calf', 3, 'piglet'], [1, 'calf', 3, 4]
should return ['piglet', 4]
.');",
+ "assert.deepEqual(diff([], ['snuffleupagus', 'cookie monster', 'elmo']), ['snuffleupagus', 'cookie monster', 'elmo'], 'message: [], ['snuffleupagus', 'cookie monster', 'elmo']
should return ['snuffleupagus', 'cookie monster', 'elmo']
.');"
],
"MDNlinks": [
"Comparison Operators",
@@ -93,11 +93,11 @@
"id": "a7f4d8f2483413a6ce226cac",
"title": "Roman Numeral Converter",
"tests": [
- "expect(convert(12)).to.equal(\"XII\");",
- "expect(convert(5)).to.equal(\"V\");",
- "expect(convert(9)).to.equal(\"IX\");",
- "expect(convert(29)).to.equal(\"XXIX\");",
- "expect(convert(16)).to.equal(\"XVI\");"
+ "assert.deepEqual(convert(12), \"XII\", 'message: convert(12)
should return \"XII\"');",
+ "assert.deepEqual(convert(5), \"V\", 'message: convert(5)
should return \"V\"');",
+ "assert.deepEqual(convert(9), \"IX\", 'message: convert(9)
should return \"IX\"');",
+ "assert.deepEqual(convert(29), \"XXIX\", 'message: convert(29)
should return \"XXIX\"');",
+ "assert.deepEqual(convert(16), \"XVI\", 'message: convert(16)
should return \"XVI\"');"
],
"difficulty": "2.02",
"description": [
@@ -150,10 +150,10 @@
"where([{ first: 'Romeo', last: 'Montague' }, { first: 'Mercutio', last: null }, { first: 'Tybalt', last: 'Capulet' }], { last: 'Capulet' });"
],
"tests": [
- "assert.deepEqual(where([{ first: 'Romeo', last: 'Montague' }, { first: 'Mercutio', last: null }, { first: 'Tybalt', last: 'Capulet' }], { last: 'Capulet' }), [{ first: 'Tybalt', last: 'Capulet' }], 'should return an array of objects');",
- "assert.deepEqual(where([{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], { 'a': 1 }), [{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], 'should return with multiples');",
- "assert.deepEqual(where([{ 'a': 1, 'b': 2 }, { 'a': 1 }, { 'a': 1, 'b': 2, 'c': 2 }], { 'a': 1, 'b': 2 }), [{ 'a': 1, 'b': 2 }, { 'a': 1, 'b': 2, 'c': 2 }], 'should return two objects in array');",
- "assert.deepEqual(where([{ 'a': 5 }, { 'a': 5 }, { 'a': 5, 'b': 10 }], { 'a': 5, 'b': 10 }), [{ 'a': 5, 'b': 10 }], 'should return a single object in array');"
+ "assert.deepEqual(where([{ first: 'Romeo', last: 'Montague' }, { first: 'Mercutio', last: null }, { first: 'Tybalt', last: 'Capulet' }], { last: 'Capulet' }), [{ first: 'Tybalt', last: 'Capulet' }], 'message: where()
should return an array of objects.');",
+ "assert.deepEqual(where([{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], { 'a': 1 }), [{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], 'message:
should return
.');",
+ "assert.deepEqual(where([{ 'a': 1, 'b': 2 }, { 'a': 1 }, { 'a': 1, 'b': 2, 'c': 2 }], { 'a': 1, 'b': 2 }), [{ 'a': 1, 'b': 2 }, { 'a': 1, 'b': 2, 'c': 2 }], 'message:
should return
.');",
+ "assert.deepEqual(where([{ 'a': 5 }, { 'b': 10 }, { 'a': 5, 'b': 10 }], { 'a': 5, 'b': 10 }), [{ 'a': 5, 'b': 10 }], 'message:
should return
.');"
],
"MDNlinks": [
"Global Object",
@@ -177,11 +177,11 @@
"id": "a0b5010f579e69b815e7c5d6",
"title": "Search and Replace",
"tests": [
- "expect(myReplace(\"Let us go to the store\", \"store\", \"mall\")).to.equal(\"Let us go to the mall\");",
- "expect(myReplace(\"He is Sleeping on the couch\", \"Sleeping\", \"sitting\")).to.equal(\"He is Sitting on the couch\");",
- "expect(myReplace(\"This has a spellngi error\", \"spellngi\", \"spelling\")).to.equal(\"This has a spelling error\");",
- "expect(myReplace(\"His name is Tom\", \"Tom\", \"john\")).to.equal(\"His name is John\");",
- "expect(myReplace(\"Let us get back to more Coding\", \"Coding\", \"bonfires\")).to.equal(\"Let us get back to more Bonfires\");"
+ "assert.deepEqual(replace(\"Let us go to the store\", \"store\", \"mall\"), \"Let us go to the mall\", 'message: replace(\"Let us go to the store\", \"store\", \"mall\")
should return \"Let us go to the mall\"');",
+ "assert.deepEqual(replace(\"He is Sleeping on the couch\", \"Sleeping\", \"sitting\"), \"He is Sitting on the couch\", 'message: replace(\"He is Sleeping on the couch\", \"Sleeping\", \"sitting\")
should return \"He is Sitting on the couch\"');",
+ "assert.deepEqual(replace(\"This has a spellngi error\", \"spellngi\", \"spelling\"), \"This has a spelling error\", 'message: replace(\"This has a spellngi error\", \"spellingi\", \"spelling\")
should return \"This has a spelling error\"');",
+ "assert.deepEqual(replace(\"His name is Tom\", \"Tom\", \"john\"), \"His name is John\", 'message: replace(\"His name is Tom\", \"Tom\", \"john\")
should return \"His name is John\"');",
+ "assert.deepEqual(replace(\"Let us get back to more Coding\", \"Coding\", \"bonfires\"), \"Let us get back to more Bonfires\", 'message: replace(\"Let us get back to more Coding\", \"Coding\", \"bonfires\")
should return \"Let us get back to more Bonfires\"');"
],
"difficulty": "2.035",
"description": [
@@ -221,11 +221,11 @@
"id": "aa7697ea2477d1316795783b",
"title": "Pig Latin",
"tests": [
- "expect(translate(\"california\")).to.equal(\"aliforniacay\");",
- "expect(translate(\"paragraphs\")).to.equal(\"aragraphspay\");",
- "expect(translate(\"glove\")).to.equal(\"oveglay\");",
- "expect(translate(\"algorithm\")).to.equal(\"algorithmway\");",
- "expect(translate(\"eight\")).to.equal(\"eightway\");"
+ "assert.deepEqual(translate(\"california\"), \"aliforniacay\", 'message: translate(\"california\")
should return \"aliforniacay\"');",
+ "assert.deepEqual(translate(\"paragraphs\"), \"aragraphspay\", 'message: translate(\"paragraphs\")
should return \"aragraphspay\"');",
+ "assert.deepEqual(translate(\"glove\"), \"oveglay\", 'message: translate(\"glove\")
should return \"oveglay\"');",
+ "assert.deepEqual(translate(\"algorithm\"), \"algorithmway\", 'message: translate(\"algorithm\")
should return \"algorithmway\"');",
+ "assert.deepEqual(translate(\"eight\"), \"eightway\", 'message: translate(\"eight\")
should return \"eightway\"');"
],
"difficulty": "2.04",
"description": [
@@ -265,9 +265,9 @@
"id": "afd15382cdfb22c9efe8b7de",
"title": "DNA Pairing",
"tests": [
- "assert.deepEqual(pair(\"ATCGA\"),[['A','T'],['T','A'],['C','G'],['G','C'],['A','T']], 'should return the dna pair');",
- "assert.deepEqual(pair(\"TTGAG\"),[['T','A'],['T','A'],['G','C'],['A','T'],['G','C']], 'should return the dna pair');",
- "assert.deepEqual(pair(\"CTCTA\"),[['C','G'],['T','A'],['C','G'],['T','A'],['A','T']], 'should return the dna pair');"
+ "assert.deepEqual(pair(\"ATCGA\"),[['A','T'],['T','A'],['C','G'],['G','C'],['A','T']], 'message:
should return
.');",
+ "assert.deepEqual(pair(\"TTGAG\"),[['T','A'],['T','A'],['G','C'],['A','T'],['G','C']], 'message:
should return
.');",
+ "assert.deepEqual(pair(\"CTCTA\"),[['C','G'],['T','A'],['C','G'],['T','A'],['A','T']], 'message:
should return
.');"
],
"difficulty": "2.05",
"description": [
@@ -319,10 +319,10 @@
"fearNotLetter('abce');"
],
"tests": [
- "expect(fearNotLetter('abce')).to.equal('d');",
- "expect(fearNotLetter('bcd')).to.be.undefined;",
- "expect(fearNotLetter('abcdefghjklmno')).to.equal('i');",
- "expect(fearNotLetter('yz')).to.be.undefined;"
+ "assert.deepEqual(fearNotLetter(\"abce\"), \"d\", 'message: fearNotLetter(\"abce\")
should return d');",
+ "assert.deepEqual(fearNotLetter(\"abcdefghjklmno\"), \"i\", 'message: fearNotLetter(\"abcdefghjklmno\")
should return i');",
+ "assert.isUndefined(fearNotLetter(\"bcd\"), 'message: fearNotLetter(\"bcd\")
should return undefined');",
+ "assert.isUndefined(fearNotLetter(\"yz\"), 'message: fearNotLetter(\"yz\")
should return undefined');"
],
"MDNlinks": [
"String.charCodeAt()",
@@ -359,14 +359,14 @@
"boo(null);"
],
"tests": [
- "assert.strictEqual(boo(true), true);",
- "assert.strictEqual(boo(false), true);",
- "assert.strictEqual(boo([1, 2, 3]), false);",
- "assert.strictEqual(boo([].slice), false);",
- "assert.strictEqual(boo({ 'a': 1 }), false);",
- "assert.strictEqual(boo(1), false);",
- "assert.strictEqual(boo(NaN), false);",
- "assert.strictEqual(boo('a'), false);"
+ "assert.strictEqual(boo(true), true, 'message:
should return true.');",
+ "assert.strictEqual(boo(false), true, 'message:
should return true.');",
+ "assert.strictEqual(boo([1, 2, 3]), false, 'message:
should return false.');",
+ "assert.strictEqual(boo([].slice), false, 'message:
should return false.');",
+ "assert.strictEqual(boo({ 'a': 1 }), false, 'message:
should return false.');",
+ "assert.strictEqual(boo(1), false, 'message:
should return false.');",
+ "assert.strictEqual(boo(NaN), false, 'message:
should return true.');",
+ "assert.strictEqual(boo('a'), false, 'message:
should return false.');"
],
"MDNlinks": [
"Boolean Objects"
@@ -525,12 +525,12 @@
"sumFibs(4);"
],
"tests": [
- "expect(sumFibs(1)).to.be.a('number');",
- "expect(sumFibs(1000)).to.equal(1785);",
- "expect(sumFibs(4000000)).to.equal(4613732);",
- "expect(sumFibs(4)).to.equal(5);",
- "expect(sumFibs(75024)).to.equal(60696);",
- "expect(sumFibs(75025)).to.equal(135721);"
+ "assert.deepEqual(typeof(sumFibs(1)), \"number\", \"The result should be a number\");",
+ "assert.deepEqual(sumFibs(1000), 1785, 'message: sumFibs(1000)
should return 1785');",
+ "assert.deepEqual(sumFibs(4000000), 4613732, 'message: sumFibs(4000000)
should return 4613732');",
+ "assert.deepEqual(sumFibs(4), 5, 'message: sumFibs(4)
should return 5');",
+ "assert.deepEqual(sumFibs(75024), 60696, 'message: sumFibs(75024)
should return 60696');",
+ "assert.deepEqual(sumFibs(75025), 135721, 'message: sumFibs(75025)
should return 135721');"
],
"MDNlinks": [
"Remainder"
@@ -566,9 +566,9 @@
"sumPrimes(10);"
],
"tests": [
- "expect(sumPrimes(10)).to.be.a('number');",
- "expect(sumPrimes(10)).to.equal(17);",
- "expect(sumPrimes(977)).to.equal(73156);"
+ "assert.deepEqual(typeof(sumPrimes(10)), \"number\", \"The result should be a number\");",
+ "assert.deepEqual(sumPrimes(10), 17, 'message: sumPrimes(10)
should return 17');",
+ "assert.deepEqual(sumPrimes(977), 73156, 'message: sumPrimes(977)
should return 73156');"
],
"MDNlinks": [
"For Loops",
@@ -606,10 +606,10 @@
"smallestCommons([1,5]);"
],
"tests": [
- "expect(smallestCommons([1,5])).to.be.a('number');",
- "expect(smallestCommons([1,5])).to.equal(60);",
- "expect(smallestCommons([5,1])).to.equal(60);",
- "expect(smallestCommons([1,13])).to.equal(360360);"
+ "assert.deepEqual(typeof(smallestCommons([1, 5])), \"number\", \"The result should be a number\");",
+ "assert.deepEqual(smallestCommons([1, 5]), 60, 'message: smallestCommons([1, 5])
should return 60');",
+ "assert.deepEqual(smallestCommons([5, 1]), 60, 'message: smallestCommons([5, 1])
should return 60');",
+ "assert.deepEqual(smallestCommons([1, 13]), 360360, 'message: smallestCommons([1, 13])
should return 360360');"
],
"MDNlinks": [
"Smallest Common Multiple"
@@ -680,10 +680,10 @@
"drop([1, 2, 3], function(n) {return n < 3; });"
],
"tests": [
- "expect(drop([1, 2, 3, 4], function(n) {return n >= 3; })).to.eqls([3, 4]);",
- "expect(drop([1, 2, 3], function(n) {return n > 0; })).to.eqls([1, 2, 3]);",
- "expect(drop([1, 2, 3, 4], function(n) {return n > 5; })).to.eqls([]);",
- "expect(drop([1, 2, 3, 7, 4], function(n) { return n > 5; })).to.eqls([7, 4]);"
+ "assert.deepEqual(drop([1, 2, 3, 4], function(n) {return n>= 3;}), [3, 4], 'message: drop([1, 2, 3, 4], function(n) {return n>= 3;})
should return [3, 4]');",
+ "assert.deepEqual(drop([1, 2, 3], function(n) {return n > 0; }), [1, 2, 3], 'message: drop([1, 2, 3], function(n) {return n > 0; })
should return [1, 2, 3]');",
+ "assert.deepEqual(drop([1, 2, 3, 4], function(n) {return n > 5;}), [], 'message: drop([1, 2, 3, 4], function(n) {return n > 5;})
should return []');",
+ "assert.deepEqual(drop([1, 2, 3, 7, 4], function(n) {return n > 3}), [7, 4], 'message: drop([1, 2, 3, 7, 4], function(n) {return n>= 3})
should return [7, 4]');"
],
"MDNlinks": [
"Arguments object",
@@ -757,8 +757,8 @@
"binaryAgent('01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111');"
],
"tests": [
- "expect(binaryAgent('01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111')).to.equal(\"Aren't bonfires fun!?\");",
- "expect(binaryAgent('01001001 00100000 01101100 01101111 01110110 01100101 00100000 01000110 01110010 01100101 01100101 01000011 01101111 01100100 01100101 01000011 01100001 01101101 01110000 00100001')).to.equal(\"I love FreeCodeCamp!\");"
+ "assert.deepEqual(binaryAgent('01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111'), \"Aren't bonfires fun!?\", \"binaryAgent()
should return Aren't bonfires fun!?\");",
+ "assert.deepEqual(binaryAgent('01001001 00100000 01101100 01101111 01110110 01100101 00100000 01000110 01110010 01100101 01100101 01000011 01101111 01100100 01100101 01000011 01100001 01101101 01110000 00100001'), \"I love FreeCodeCamp!\", 'message: binaryAgent()
should return \"I love FreeCodeCamp!\"');"
],
"MDNlinks": [
"String.charCodeAt()",
@@ -838,11 +838,11 @@
"add(2,3);"
],
"tests": [
- "expect(add(2, 3)).to.equal(5);",
- "expect(add(2)(3)).to.equal(5);",
- "expect(add('http://bit.ly/IqT6zt')).to.be.undefined;",
- "expect(add(2, '3')).to.be.undefined;",
- "expect(add(2)([3])).to.be.undefined;"
+ "assert.deepEqual(add(2, 3), 5, 'message: add(2, 3)
should return 5');",
+ "assert.deepEqual(add(2)(3), 5, 'message: add(2)(3)
should return 5');",
+ "assert.isUndefined(add(\"http://bit.ly/IqT6zt\"), 'message: add(\"http://bit.ly/IqT6zt\")
should return undefined');",
+ "assert.isUndefined(add(2, \"3\"), 'message: add(2, \"3\")
should return undefined');",
+ "assert.isUndefined(add(2)([3]), 'message: add(2)([3])
should return undefined');"
],
"MDNlinks": [
"Global Function Object",