From 0d54e54d9955830f5f44bfb770328902d10aa102 Mon Sep 17 00:00:00 2001 From: law39 Date: Thu, 30 Apr 2020 12:03:57 +0100 Subject: [PATCH] Fixed Assessment Generator Assessment would not run due to a logic error causing a null reference exception, this is now fixed. --- .../selfassessment/AssessmentGenerator.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/selfassessment/AssessmentGenerator.java b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/selfassessment/AssessmentGenerator.java index 9b86847..398574f 100644 --- a/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/selfassessment/AssessmentGenerator.java +++ b/src/Welsh Vocabulary Tutor/src/main/java/uk/ac/aber/cs22120/group20/selfassessment/AssessmentGenerator.java @@ -52,21 +52,20 @@ public class AssessmentGenerator { case (0): //0 Means translation test. //wordToTranslatePlace = rand.nextInt(Application.practiseList.size()); //wordToTranslate = Application.practiseList.get(wordToTranslatePlace); - if(!(listOfAssessment.getLast() == null) || (listOfAssessment.getLast() instanceof TranslationQuestion)){ + if((listOfAssessment.isEmpty()) || !(listOfAssessment.getLast() instanceof TranslationQuestion)){ + generatedAssessment = generateTranslationTest(practiseList); + }else { numberToGenerate--; - break; } - generatedAssessment = generateTranslationTest(practiseList); break; case (1): //1 Means six meanings test. //wordToTranslatePlace = rand.nextInt(Application.practiseList.size()); //wordToTranslate = Application.practiseList.get(wordToTranslatePlace); - if(!(listOfAssessment.getLast() == null) || (listOfAssessment.getLast() instanceof SixMeaningsQuestion)){ + if(((listOfAssessment.isEmpty())) || !(listOfAssessment.getLast() instanceof SixMeaningsQuestion)){ + generatedAssessment = generateSixMeanings(practiseList); + }else { numberToGenerate--; - break; } - generatedAssessment = generateSixMeanings(practiseList); - break; case (2): //2 Means match meanings test. // LinkedList wordsToTranslate = new LinkedList<>(); @@ -75,15 +74,16 @@ public class AssessmentGenerator { // wordsToTranslate.add(Application.practiseList.get(wordToTranslatePlace)); // wordsToTranslate.toArray(); // } - if(!(listOfAssessment.getLast() == null) || (listOfAssessment.getLast() instanceof MatchTheMeaningQuestion)){ + if((listOfAssessment.isEmpty()) || !(listOfAssessment.getLast() instanceof MatchTheMeaningQuestion)){ + generatedAssessment = generateMatchMeaning(practiseList); + }else { numberToGenerate--; - break; } - - generatedAssessment = generateMatchMeaning(practiseList); break; } - listOfAssessment.add(generatedAssessment); + if(generatedAssessment != null) { + listOfAssessment.add(generatedAssessment); + } } AssessmentGenerator.listOfAssessment = listOfAssessment; goToNextQuestion();