Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== diff -u -r90aaa6a33006ccf9104ff54239cf13b9ef587728 -r3bc5138bc98aae79d0c4c7dbbe2b12d42d029b3f --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 90aaa6a33006ccf9104ff54239cf13b9ef587728) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java (.../AssessmentServiceImpl.java) (revision 3bc5138bc98aae79d0c4c7dbbe2b12d42d029b3f) @@ -1373,7 +1373,7 @@ for (QbOption option : qbQuestion.getQbOptions()) { String[] alternatives = option.getName().split("\r\n"); for (String alternative : alternatives) { - if (alternative.equals(answer)) { + if (AssessmentServiceImpl.isAnswersEqual(question, answer, alternative)) { isAnswerAllocated = true; break; } @@ -1393,7 +1393,15 @@ return questionSummary; } + + public static boolean isAnswersEqual(AssessmentQuestion question, String answer1, String answer2) { + if (answer1 == null || answer2 == null) { + return false; + } + return question.getQbQuestion().isCaseSensitive() ? answer1.equals(answer2) : answer1.equalsIgnoreCase(answer2); + } + @Override public Optional allocateAnswerToOption(Long questionUid, Long targetOptionUid, Long previousOptionUid, Long questionResultUid) {