UNPKG

ects-oleksandr-sokhan

Version:

Converter scores from the 100-point grading system to the ECTS

47 lines (40 loc) 2.03 kB
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 ===');