Create a function getGrade
that takes three arguments: exam
, projects
,
and returns a grade based on the following conditions:
- Return "A" if
exam
is greater than 90 orprojects
is greater than 10. - Return "B" if
exam
is greater than 75 andprojects
is at least 5. - Return "C" if
exam
is greater than 50 andprojects
is at least 2. - Otherwise, return "F".
function getGrade(exam, projects) {
if (exam > 90 || projects > 10) {
return "A";
} else if (exam > 75 && projects >= 5) {
return "B";
} else if (exam > 50 && projects >= 2) {
return "C";
} else {
return "F";
}
}
const chai = require("chai");
const assert = chai.assert;
describe("getGrade", function() {
it("should return 'A' for high exam scores or many projects", function() {
assert.strictEqual(getGrade(91, 5), "A");
assert.strictEqual(getGrade(50, 11), "A");
});
it("should return 'B' for moderate exam scores with sufficient projects", function() {
assert.strictEqual(getGrade(80, 5), "B");
assert.strictEqual(getGrade(76, 5), "B");
});
it("should return 'C' for lower exam scores with minimum projects", function() {
assert.strictEqual(getGrade(55, 2), "C");
assert.strictEqual(getGrade(51, 2), "C");
});
it("should return 'F' for failing conditions", function() {
assert.strictEqual(getGrade(30, 1), "F");
assert.strictEqual(getGrade(50, 1), "F");
});
});