Changed approach to display level for Level Testing
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import {Module} from "@/interfaces";
|
||||
import { LevelScore } from "@/constants/ielts";
|
||||
|
||||
type Type = "academic" | "general";
|
||||
|
||||
@@ -94,11 +95,12 @@ const academicMarking: {[key: number]: number} = {
|
||||
};
|
||||
|
||||
const levelMarking: {[key: number]: number} = {
|
||||
88: 9,
|
||||
64: 8,
|
||||
52: 6,
|
||||
32: 4,
|
||||
16: 2,
|
||||
88: 9, // Advanced
|
||||
64: 8 , // Upper-Intermediate
|
||||
52: 6, // Intermediate
|
||||
32: 4, // Pre-Intermediate
|
||||
16: 2, // Elementary
|
||||
0: 0, // Beginner
|
||||
};
|
||||
|
||||
const moduleMarkings: {[key in Module]: {[key in Type]: {[key: number]: number}}} = {
|
||||
@@ -142,3 +144,21 @@ export const calculateBandScore = (correct: number, total: number, module: Modul
|
||||
export const calculateAverageLevel = (levels: {[key in Module]: number}) => {
|
||||
return Object.keys(levels).reduce((accumulator, current) => levels[current as Module] + accumulator, 0) / 4;
|
||||
};
|
||||
|
||||
export const getLevelScore = (level: number) => {
|
||||
switch(level) {
|
||||
case 0:
|
||||
return ['Beginner', 'Low A1'];
|
||||
case 2:
|
||||
return ['Elementary', 'High A1/Low A2'];
|
||||
case 4:
|
||||
return ['Pre-Intermediate', 'High A2/Low B1'];
|
||||
case 6:
|
||||
return ['Intermediate', 'High B1/Low B2'];
|
||||
case 8:
|
||||
return ['Upper-Intermediate', 'High B2/Low C1'];
|
||||
case 9:
|
||||
return ['Advanced', 'C1'];
|
||||
default: return [];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user