Skip to content

Commit 4ee1b34

Browse files
Merge branch 'main' into unit-testing
2 parents 1f936ce + 67f2c53 commit 4ee1b34

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+770
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
let launchReady = false;
2+
let fuelLevel = 27000;
3+
4+
if (fuelLevel >= 20000) {
5+
console.log('Fuel level cleared.');
6+
launchReady = true;
7+
} else {
8+
console.log('WARNING: Insufficient fuel!');
9+
launchReady = false;
10+
}
11+
12+
if (launchReady) {
13+
console.log("10, 9, 8...");
14+
console.log("Fed parrot...");
15+
console.log("6, 5, 4...");
16+
console.log("Ignition...");
17+
consoul.log("3, 2, 1...");
18+
console.log("Liftoff!");
19+
} else {
20+
console.log("Launch scrubbed.");
21+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const input = require('readline-sync');
2+
3+
let animals = [{name: 'cat'}, {name: 'dog'}];
4+
let index = Number(input.question("Enter index of animal:"));
5+
6+
try {
7+
console.log('animal at index:', animals[index].name);
8+
} catch(TypeError) {
9+
console.log("We caught a TypeError, but our program continues to run!");
10+
} finally {
11+
console.log("You tried to access an animal at index:", index);
12+
}
13+
14+
console.log("the code goes on...");
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "control-flow-type-error-finally",
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+
"dependencies": {
13+
"readline-sync": "^1.4.10"
14+
}
15+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
throw Error('You cannot divide by zero!');
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "control-flow-type-error",
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+
"dependencies": {
13+
"readline-sync": "^1.4.10"
14+
}
15+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const input = require('readline-sync');
2+
3+
let animals = [{name: 'cat'}, {name: 'dog'}];
4+
let index = Number(input.question("Enter index of animal:"));
5+
6+
try {
7+
console.log('animal at index:', animals[index].name);
8+
} catch(TypeError) {
9+
console.log("We caught a TypeError, but our program continues to run!");
10+
console.log("You tried to access an animal at index:", index);
11+
}
12+
13+
console.log("the code goes on...");

exceptions/exercises/divide.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// Write a function called 'divide' that takes two parameters: a numerator and a denominator.
2+
3+
// Your function should return the result of numerator / denominator.
4+
5+
// However, if the denominator is zero you should throw the error, "Attempted to divide by zero."
6+
7+
// Code your divide function here:
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
function gradeLabs(labs) {
2+
for (let i=0; i < labs.length; i++) {
3+
let lab = labs[i];
4+
let result = lab.runLab(3);
5+
console.log(`${lab.student} code worked: ${result === 27}`);
6+
}
7+
}
8+
9+
let studentLabs = [
10+
{
11+
student: 'Carly',
12+
runLab: function (num) {
13+
return Math.pow(num, num);
14+
}
15+
},
16+
{
17+
student: 'Erica',
18+
runLab: function (num) {
19+
return num * num;
20+
}
21+
}
22+
];
23+
24+
gradeLabs(studentLabs);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function averageForStudent(nameIndex,scores){
2+
let sum = 0;
3+
for (let i=0; i<scores.length; i++){
4+
sum += scores[nameIndex][i];
5+
}
6+
let average = sum/scores[nameIndex].length;
7+
return average;
8+
}
9+
10+
function averageForTest(testIndex,scores){
11+
let sum = 0;
12+
for (let i=0; i<scores.length; i++){
13+
sum += scores[i][testIndex];
14+
}
15+
let average = sum/scores[0].length;
16+
return average;
17+
}
18+
19+
//TODO: Export all functions within an object.

modules/exercises/display.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//TODO: Export ONLY the printAll function.
2+
3+
function printAll(names, tests, scores){
4+
let header = 'Name';
5+
let row = '';
6+
7+
for (let i = 0; i<tests.length; i++){
8+
header += '\t'+tests[i];
9+
}
10+
console.log(header);
11+
12+
for (let name = 0; name<names.length; name++){
13+
row = names[name];
14+
for (let score = 0; score<scores[name].length;score++){
15+
row += '\t'+scores[name][score];
16+
}
17+
console.log(row);
18+
}
19+
return;
20+
}
21+
22+
function printStudentScores(index,students,tests,scores){
23+
console.log(`Test results for ${students[index]}:`);
24+
for (let i = 0; i<tests.length; i++){
25+
console.log(`${tests[i]} = ${scores[index][i]}%.`);
26+
}
27+
return;
28+
}
29+
30+
function printTestScores(index,test,students,scores){
31+
console.log(`Class results for ${test} test:`);
32+
for (let i = 0; i<students.length; i++){
33+
console.log(`${students[i]} = ${scores[i][index]}%.`);
34+
}
35+
return;
36+
}

0 commit comments

Comments
 (0)