ects-oleksandr-sokhan
Version:
Converter scores from the 100-point grading system to the ECTS
47 lines (40 loc) • 2.03 kB
JavaScript
const ECTS = require('./index.js');
console.log('=== ECTS Grade Conversion Module Tests ===\n');
// Basic Grade Conversion Tests
console.log('=== Basic Grade Conversion Tests ===');
console.log('Score 95:', new ECTS(95).ectsFromScore()); // Should be A
console.log('Score 85:', new ECTS(85).ectsFromScore()); // Should be B
console.log('Score 78:', new ECTS(78).ectsFromScore()); // Should be C
console.log('Score 70:', new ECTS(70).ectsFromScore()); // Should be D
console.log('Score 62:', new ECTS(62).ectsFromScore()); // Should be E
console.log('Score 45:', new ECTS(45).ectsFromScore()); // Should be F
// Edge Case Tests
console.log('\n=== Edge Case Tests ===');
console.log('Score 90:', new ECTS(90).ectsFromScore()); // Boundary A
console.log('Score 100:', new ECTS(100).ectsFromScore()); // Boundary A
console.log('Score 82:', new ECTS(82).ectsFromScore()); // Boundary B
console.log('Score 89:', new ECTS(89).ectsFromScore()); // Boundary B
console.log('Score 60:', new ECTS(60).ectsFromScore()); // Boundary E
console.log('Score 59:', new ECTS(59).ectsFromScore()); // Boundary F
console.log('Score 0:', new ECTS(0).ectsFromScore()); // Boundary F
// Validation Tests
console.log('\n=== Validation Tests ===');
console.log('Valid score 85:', ECTS.isValidScore(85));
console.log('Invalid score 101:', ECTS.isValidScore(101));
console.log('Invalid score "85":', ECTS.isValidScore('85'));
console.log('Invalid score -1:', ECTS.isValidScore(-1));
console.log('Invalid score null:', ECTS.isValidScore(null));
console.log('Invalid score undefined:', ECTS.isValidScore(undefined));
console.log('Invalid score NaN:', ECTS.isValidScore(NaN));
// Error Handling Test
console.log('\n=== Error Handling Test ===');
try {
new ECTS(150); // Should throw error
} catch (error) {
console.log('Error caught:', error.message);
}
// Grade Ranges Test
console.log('\n=== Grade Ranges Test ===');
const ects = new ECTS(85);
console.log('Grade ranges:', ects.getGradeRanges());
console.log('\n=== All Tests Completed ===');