UNPKG

8.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/test/check-answer-correctness.qcm.js"],"names":["test","getConfig","assertCorrect","assertIncorrect","assertIncorrectEmptyAnswer","config","ref","version","createQuestion","answers","type","content","choices","t","question"],"mappings":"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","sourcesContent":["// @flow\nimport test from 'ava';\nimport {getConfig} from '../config';\nimport type {AcceptedAnswers, Config, QCMQuestion} from '../types';\nimport {\n assertCorrect,\n assertIncorrect,\n assertIncorrectEmptyAnswer\n} from './helpers/assert-check-answer-correctness';\n\nconst config: Config = getConfig({ref: 'microlearning', version: 'latest'});\n\nfunction createQuestion(answers: AcceptedAnswers): QCMQuestion {\n return {\n type: 'qcm',\n content: {\n choices: [],\n answers\n }\n };\n}\n\ntest('should return true when the given answer is in the accepted answers', t => {\n const question = createQuestion([\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertCorrect(t, config, question, ['answer1', 'answer3']);\n assertCorrect(t, config, question, ['answer2', 'answer4']);\n assertCorrect(t, config, question, ['answer1', 'answer4']);\n});\n\ntest('should return true even when the given answer does not have the same case as the accepted answers', t => {\n const question = createQuestion([['answer2']]);\n\n assertCorrect(t, config, question, ['ANSWER2']);\n});\n\ntest('should return true when the given answer is in the accepted answers but values are in a different order', t => {\n const question = createQuestion([\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertCorrect(t, config, question, ['answer3', 'answer1']);\n assertCorrect(t, config, question, ['answer4', 'answer2']);\n assertCorrect(t, config, question, ['answer4', 'answer1']);\n});\n\ntest('should return false when the given answer is not in the accepted answers', t => {\n const question = createQuestion([\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer2', 'answer1'], [false, true]);\n assertIncorrect(t, config, question, ['answer1', 'answer2'], [true, false]);\n assertIncorrect(t, config, question, ['answer3', 'answer4'], [true, false]);\n assertIncorrect(t, config, question, ['answer5', 'answer4'], [false, true]);\n});\n\ntest('should return false when the given answer has more elements that the accepted answers', t => {\n const question = createQuestion([\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer1', 'answer3', 'answer2'], [true, true, false]);\n assertIncorrect(t, config, question, ['answer1', 'answer5', 'answer3'], [true, false, true]);\n});\n\ntest('should return false when the given answer has less elements that the accepted answers', t => {\n const question = createQuestion([\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer1'], [true]);\n assertIncorrect(t, config, question, ['answer2'], [true]);\n assertIncorrect(t, config, question, ['answer5'], [false]);\n assertIncorrect(t, config, question, [], []);\n});\n\ntest(\"should return false when the given answer isn't the same but resembles the accepted answers\", t => {\n const question = createQuestion([['answer2']]);\n\n assertIncorrect(t, config, question, ['answe2r'], [false]);\n});\n\ntest('should return false when there are no correct answers', t => {\n const question = createQuestion([]);\n\n assertIncorrectEmptyAnswer(t, config, question, []);\n assertIncorrectEmptyAnswer(t, config, question, ['foo']);\n});\n\ntest('should trim the given and accepted answers before comparing', t => {\n const question = createQuestion([[' answer1', ' answer3 ']]);\n\n assertCorrect(t, config, question, ['answer1', 'answer3']);\n assertCorrect(t, config, question, ['answer1 ', ' answer3']);\n assertIncorrect(t, config, question, ['answer2', 'answer3'], [false, true]);\n});\n"],"file":"check-answer-correctness.qcm.js"}
\No newline at end of file