JSFiddle - React, Tailwind, and code Playground
by William Sena
JavaScript
function getGradeAverage(firstGrade, secondGrade, thirdyGrade) {
var avg = (firstGrade + (secondGrade * 2) + (thirdyGrade * 3)) / 6;
var grade;
if (firstGrade < 0 || secondGrade < 0 || thirdyGrade < 0) {
throw new Error("There are invalid grandes!");
}
if (avg >= 9) {
grade = "A";
} else if (avg >= 7.5 && avg < 9) {
grade = "B"
} else if (avg >= 6 && avg < 7.5) {
grade = "C"
} else if (avg >= 4 && avg < 6) {
grade = "D"
} else {
grade = "E"
}
return {
grade: grade,
avg: avg
};
}
var unitTest = [
[9, 9, 10],
[8, 8, 7],
[7.9, 5.9, 7],
[5.9, 5.9, 6],
[5, 4, 3],
[-1, 1, 1],
[1, -1, 1],
[1, 1, -1]
]
unitTest.forEach(function(test) {
var result;
try {
result = getGradeAverage(test[0], test[1], test[2]);
document.body.innerHTML += JSON.stringify(result) + '<br /> ';
} catch (e) {
document.body.innerHTML += JSON.stringify(e.message) + '<br /> ';
}
})