Skip to content

Commit 2d804b3

Browse files
committed
feat:added spring configuration to project
1 parent 2eaff13 commit 2d804b3

File tree

4 files changed

+46
-15
lines changed

4 files changed

+46
-15
lines changed

lesson_02/quiz_java/app/build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
plugins {
22
// Apply the application plugin to add support for building a CLI application in Java.
33
id 'application'
4+
id 'org.springframework.boot' version '3.3.3' // use latest Spring Boot
5+
id 'io.spring.dependency-management' version '1.1.5'
46
}
57

68
repositories {
@@ -13,6 +15,9 @@ dependencies {
1315
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
1416
implementation libs.guava
1517
implementation project(":codedifferently-instructional")
18+
implementation 'org.springframework.boot:spring-boot-starter'
19+
20+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
1621
}
1722

1823
// Apply a specific Java toolchain to ease working on different environments.

lesson_02/quiz_java/app/src/main/java/org/example/Lesson.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,17 @@
1010

1111
import com.codedifferently.instructional.quiz.AnswerChoice;
1212
import com.codedifferently.instructional.quiz.MultipleChoiceQuizQuestion;
13-
1413
public class Lesson {
1514

1615
public static void main(String[] args) {
17-
MultipleChoiceQuizQuestion[] questions = makeQuestions();
16+
List<MultipleChoiceQuizQuestion> questions = makeQuestions();
1817
for(MultipleChoiceQuizQuestion q : questions) {
1918
System.out.println(q);
2019
}
2120
}
2221

22+
23+
2324
public static List<MultipleChoiceQuizQuestion> makeQuestions() {
2425

2526
List<MultipleChoiceQuizQuestion> questions = new ArrayList<>();
@@ -63,7 +64,7 @@ public static MultipleChoiceQuizQuestion makeQuestion1() {
6364
answerChoices.put(AnswerChoice.D, "What is a fork in Git?");
6465

6566
return new MultipleChoiceQuizQuestion(
66-
1,"What is the main purpose of version control?",answerChoices,AnswerChoice.B);
67+
1,"What is a fork in Git?",answerChoices,AnswerChoice.B);
6768
}
6869

6970
public static MultipleChoiceQuizQuestion makeQuestion2() {

lesson_02/quiz_java/app/src/test/java/org/example/LessonTest.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,50 @@
33
*/
44
package org.example;
55

6-
import org.junit.jupiter.api.Test;
7-
import static org.junit.jupiter.api.Assertions.*;
8-
96
import java.nio.file.Path;
107
import java.nio.file.Paths;
11-
import java.util.Comparator;
128
import java.util.HashSet;
139
import java.util.List;
1410
import java.util.Set;
1511

12+
import static org.junit.jupiter.api.Assertions.assertEquals;
13+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
14+
import static org.junit.jupiter.api.Assertions.assertTrue;
1615
import org.junit.jupiter.api.BeforeEach;
16+
import org.junit.jupiter.api.Test;
17+
import org.springframework.beans.factory.annotation.Autowired;
18+
import org.springframework.boot.test.context.SpringBootTest;
1719

1820
import com.codedifferently.instructional.quiz.AnswerChoice;
1921
import com.codedifferently.instructional.quiz.MultipleChoiceQuizQuestion;
2022
import com.codedifferently.instructional.quiz.QuizConfig;
2123
import com.codedifferently.instructional.quiz.QuizQuestion;
22-
24+
@SpringBootTest
2325
class LessonTest {
24-
private QuizConfig quizConfig;
25-
private List<QuizQuestion> quizQuestions;
26+
27+
@Autowired
28+
private QuizConfig quizConfig;
29+
30+
@Autowired
31+
private List<MultipleChoiceQuizQuestion> quizQuestions;
32+
2633

2734
private static final int EXPECTED_NUMBER_OF_QUESTIONS = 11;
2835

36+
private void getQuestions() {
37+
this.quizQuestions = Lesson.makeQuestions();
38+
}
39+
2940
@BeforeEach
3041
public void setUp() {
3142
Path quizPath = Paths.get("src", "main", "resources", "quiz.yaml");
32-
quizConfig = new QuizConfig(quizPath.toAbsolutePath().toString());
43+
quizConfig = new QuizConfig();
44+
45+
3346
getQuestions();
3447
}
3548

36-
private void getQuestions() {
37-
List<MultipleChoiceQuizQuestion> quizQuestions = Lesson.makeQuestions();
38-
quizQuestions.sort(Comparator.comparingInt(QuizQuestion::getQuestionNumber));
39-
}
49+
4050

4151
@Test
4252
public void checkQuizQuestions_areAssembledCorrectly() {
@@ -60,6 +70,7 @@ public void checkQuizQuestions_promptsAreUnique() {
6070

6171
@Test
6272
public void checkQuestions_answeredCorrectly() throws Exception {
73+
6374
assertEquals(quizQuestions.size(), quizConfig.size("default"));
6475

6576
for (QuizQuestion question : quizQuestions) {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
quiz:
2+
answers:
3+
default:
4+
- $2y$10$Mijvs3PeAc.DsZBhT4T0jepZqixAOb61iPotSSlIVJGFqpGeBU5dS #0
5+
- $2y$10$fMlkDDq4L9g2Q0lzdTMG1u7aw6rjJhKh.B0e/AYfQHUsXhCM6UGIS #1
6+
- $2y$10$wJZxd8Ha4EEbb16UoUcqgO7oOU.h8sUOsv8FGu6gLiuKwtI4RKFT2 #2
7+
- $2y$10$xAUz.hXIqTamXZg28Hgepe28PS431mmq0WlM48Rji7EkSKD5NfzFy #3
8+
- $2y$10$hbV87MTi/JH51hdNfBP9juELK6LSAxPagrFqcnXAD3gLIEOCCqENW #4
9+
- $2y$10$kiOyjtBQ7B2BszTJajO9keCBlOPh4pLM.mzugzWB2vtGkOWCSJ366 #5
10+
- $2y$10$hCrDJhXV7Gwk0PsBm086p.obO0dk.ZseCfvrx.Vu7U/jqODPaxmFy #6
11+
- $2y$10$LvnU8fBR2ABdf2/gatkW1e1n5XcFQWSE6QfcUjIMo2g8Gu6p1NPJu #7
12+
- $2y$10$DQUbiJqDiMpypZ1FEwK1QejNDwk05F6suGWj6PdEowOvvsoLYGzZy #8
13+
- $2y$10$hzT0JgkSPhMzeuqK4VnD1eoNYkCZ.bg.QL3.VF0vJrmyceWq3bHgC #9
14+
- $2y$10$qyOdRBWT8MO.naUyhZRMr.VIy1NkxDY.1WvbnlTu2bcXkgTnpCBH2 #10

0 commit comments

Comments
 (0)