/** Create a user, create a state and make him answer a few questions. */ @Before public void setup() { // setup user expectedUser = new User("xuser"); expectedUser.setId(1234); // setup level expectedLevel = QuestionLevel.LEVEL_1; // setup question expectedQuestion = new Question(); expectedQuestion.setAnswer("xanswer"); expectedQuestion.setType(QuestionType.TEXT); expectedQuestion.setCategory(QuestionCategory.SHAPES); List<String> choices = new ArrayList(); choices.add("apple"); choices.add("orange"); choices.add("banana"); choices.add("cherry"); expectedQuestion.setChoices(choices); expectedQuestion.setLevel(expectedLevel); expectedQuestion.setQuestion("xquestion"); expectedQuestion.setExplaination("xplanation"); // set current question and level for user expectedUser.setCurrentQuestion(expectedQuestion); expectedUser.endState(); fileUserManager.addUser(expectedUser); }
/* @Test public void canDeleteQuestion() { canAddQuestion(); questionManager.deleteQuestion(question); questionDatabase = QuestionDatabaseFactory.aQuestionDatabaseWithOnlyCustomQuestions(); int number = questionDatabase.getNumberOfQuestions(question.getLevel()); assertEquals(oldNumberOfQuestions, number); } */ @Test public void canEditQuestion() { final String newQuestionString = "HELLO THIS IS ME"; questionManager.addQuestion(question); questionDatabase = QuestionDatabaseFactory.aQuestionDatabaseWithOnlyCustomQuestions(); Question newQuestion = QuestionBuilder.aQuestion().copiedFrom(question).build(); newQuestion.setQuestion(newQuestionString); questionManager.editQuestion(question, newQuestion); questionDatabase = QuestionDatabaseFactory.aQuestionDatabaseWithOnlyCustomQuestions(); int number = questionDatabase.getNumberOfQuestions(question.getLevel()) - 1; Question loadedQuestion = questionDatabase.getQuestion(question.getLevel(), question.getCategory(), number); assertEquals("Question not edited", newQuestion, loadedQuestion); }