Skip to content

Commit b975ddd

Browse files
committed
Section 32: The Assert Module
1 parent 03175a9 commit b975ddd

4 files changed

Lines changed: 72 additions & 0 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = {
2+
forEach(arr, fn) {
3+
for (let index in arr) {
4+
fn(arr[index], index)
5+
}
6+
},
7+
map(arr, fn) {
8+
const result = []
9+
for (let i = 0; i < arr.length; i++) {
10+
result.push(fn(arr[i], i))
11+
}
12+
13+
return result
14+
},
15+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
const assert = require('assert')
2+
const { forEach, map } = require('./index')
3+
4+
const test = (desc, fn) => {
5+
console.log('----', desc)
6+
try {
7+
fn()
8+
} catch (err) {
9+
console.log(err.message)
10+
}
11+
}
12+
13+
test('The forEach function', () => {
14+
let sum = 0
15+
forEach([1, 2, 3], (value) => {
16+
sum += value
17+
})
18+
19+
// Optionally we can pass a third argument of an error message
20+
assert.strictEqual(sum, 6)
21+
// assert.strictEqual(sum, 7, 'Expected forEach to sum the array')
22+
})
23+
24+
test('The map funciton', () => {
25+
const result = map([1, 2, 3], (value) => {
26+
return value * 2
27+
})
28+
29+
// assert.deepStrictEqual(result, [2, 4, 6])
30+
assert.deepStrictEqual(result, [2, 4, 7])
31+
})
32+
33+
// Long way of testing
34+
// test('The map funciton', () => {
35+
// const result = map([1, 2, 3], (value) => {
36+
// return value * 2
37+
// })
38+
39+
// assert.strictEqual(result[0], 2)
40+
// assert.strictEqual(result[1], 4)
41+
// assert.strictEqual(result[2], 6)
42+
// // assert.strictEqual(result[2], 7) // This throws an error
43+
// })
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "04-hidash",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"keywords": [],
10+
"author": "",
11+
"license": "ISC"
12+
}

32-The-Basics-of-Testing/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,5 @@
2323
## 4. 04 Test Driven Development
2424

2525
## 5. 05 Fixing Three Issues
26+
27+
## 6. 06 The Assert Module

0 commit comments

Comments
 (0)