From fc96ec673822d9f1cbe0e5eb004c12b7f8f2db9b Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Tue, 23 Jul 2024 14:48:26 +1000 Subject: Create JAXB beans and initial test for request model --- .../markr/MarkrApplicationTests.java | 13 - .../markr/dto/MCQTestResultsDTOTests.java | 36 + src/test/resources/sample-results.xml | 2703 ++++++++++++++++++++ 3 files changed, 2739 insertions(+), 13 deletions(-) delete mode 100644 src/test/java/com/stileeducation/markr/MarkrApplicationTests.java create mode 100644 src/test/java/com/stileeducation/markr/dto/MCQTestResultsDTOTests.java create mode 100644 src/test/resources/sample-results.xml (limited to 'src/test') diff --git a/src/test/java/com/stileeducation/markr/MarkrApplicationTests.java b/src/test/java/com/stileeducation/markr/MarkrApplicationTests.java deleted file mode 100644 index 2301e26..0000000 --- a/src/test/java/com/stileeducation/markr/MarkrApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.stileeducation.markr; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class MarkrApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/src/test/java/com/stileeducation/markr/dto/MCQTestResultsDTOTests.java b/src/test/java/com/stileeducation/markr/dto/MCQTestResultsDTOTests.java new file mode 100644 index 0000000..cc0f248 --- /dev/null +++ b/src/test/java/com/stileeducation/markr/dto/MCQTestResultsDTOTests.java @@ -0,0 +1,36 @@ +package com.stileeducation.markr.dto; + +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.core.io.ClassPathResource; + +import java.io.IOException; +import java.io.InputStream; + +import static org.assertj.core.api.Assertions.assertThat; + +@SpringBootTest +public class MCQTestResultsDTOTests { + + private static MCQTestResultsDTO sampleResults; + + @BeforeAll + static void setup() throws JAXBException, IOException { + ClassPathResource resource = new ClassPathResource("sample-results.xml"); + try (InputStream inputStream = resource.getInputStream()) { + JAXBContext jaxbContext = JAXBContext.newInstance(MCQTestResultsDTO.class); + Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); + sampleResults = (MCQTestResultsDTO) unmarshaller.unmarshal(inputStream); + } + } + + @Test + void givenSampleResultsXMLShouldUnmarshall() throws IOException { + assertThat(sampleResults).isNotNull(); + } + +} diff --git a/src/test/resources/sample-results.xml b/src/test/resources/sample-results.xml new file mode 100644 index 0000000..4540ea9 --- /dev/null +++ b/src/test/resources/sample-results.xml @@ -0,0 +1,2703 @@ + + + + KJ + Alysander + 002299 + 9863 + D + D + D + C + B + D + A + A + B + D + A + B + A + B + B + A + C + B + A + B + + + + KJ + Jim + 2300 + 9863 + C + B + D + A + C + C + C + B + C + C + C + B + B + B + B + C + C + A + C + D + + + + Claire + Byron + 2301 + 9863 + A + B + B + C + B + D + C + A + D + C + C + C + A + B + B + D + C + A + D + B + + + + Claire + Bob + 2302 + 9863 + A + D + A + A + D + D + A + C + B + D + D + B + C + A + D + B + A + A + A + A + + + + Stephanie + Susan + 2303 + 9863 + C + C + B + B + B + D + D + D + A + B + A + D + C + D + A + A + C + D + A + C + + + + Jean + Claire + 2304 + 9863 + A + C + C + A + C + A + C + D + D + B + D + C + A + D + B + D + A + A + D + C + + + + Penelope + Thomas + 2306 + 9863 + A + A + D + D + C + D + C + D + A + A + B + A + C + A + C + D + A + C + C + A + + + + Rian + Matthew + 2306 + 9863 + D + B + B + B + A + A + D + A + A + B + C + A + B + A + B + B + C + A + D + B + + + + Susan + Byron + 2307 + 9863 + A + A + C + A + D + B + B + C + A + D + B + D + D + A + D + B + A + D + D + D + + + + Grace + Rian + 2308 + 9863 + A + A + B + A + D + A + B + A + A + C + D + D + C + D + C + C + A + A + B + C + + + + Bob + Dave + 2309 + 9863 + A + B + D + A + B + A + A + B + B + B + B + A + D + A + B + C + C + B + B + D + + + + Stephanie + Bob + 2311 + 9863 + C + B + D + D + B + A + A + D + B + A + D + D + D + D + C + A + B + D + A + A + + + + Penelope + Dave + 2311 + 9863 + B + A + B + D + C + D + C + B + C + D + C + B + B + C + D + D + D + D + D + A + + + + Steve + Byron + 2312 + 9863 + C + D + D + B + D + D + B + C + A + A + C + B + D + A + C + B + B + B + C + D + + + + Grace + Steve + 2314 + 9863 + A + D + D + A + C + B + D + C + C + D + D + C + C + A + B + D + B + A + B + B + + + + Jim + Daniel + 2315 + 9863 + A + B + C + B + D + B + C + A + B + B + A + D + A + D + C + C + B + B + A + A + + + + Jim + Thomas + 2315 + 9863 + C + C + C + D + C + B + B + A + D + B + C + B + B + D + D + B + B + C + C + B + + + + Byron + Daniel + 2316 + 9863 + A + A + A + C + A + C + C + A + B + B + C + B + C + D + D + A + D + B + C + A + + + + Byron + Alice + 2317 + 9863 + D + C + A + C + C + C + B + B + C + B + C + A + C + B + C + C + D + B + C + A + + + + Alysander + Byron + 2319 + 9863 + B + A + C + B + B + A + A + A + A + A + B + C + D + D + A + A + A + C + C + B + + + + Daniel + Dave + 2319 + 9863 + C + D + B + D + D + C + C + D + D + B + B + C + C + C + D + C + D + C + A + C + + + + Steve + Alice + 2320 + 9863 + B + C + D + C + B + A + D + D + A + C + C + B + D + A + D + D + C + B + A + A + + + + John + Grace + 2321 + 9863 + A + B + C + D + B + D + D + C + C + A + D + C + D + A + B + C + B + D + D + C + + + + Daniel + Claire + 2322 + 9863 + C + A + A + A + C + A + B + A + C + B + B + B + C + B + A + B + A + D + D + D + + + + Penelope + Stephanie + 2323 + 9863 + A + C + C + D + A + B + B + B + B + D + D + A + D + C + C + D + B + C + D + A + + + + Claire + KJ + 2325 + 9863 + D + B + D + D + A + B + D + C + C + A + A + D + A + D + D + C + B + B + D + C + + + + Bob + Penelope + 2326 + 9863 + C + B + C + D + D + D + B + A + A + A + B + D + D + D + D + D + D + B + B + D + + + + Penelope + Byron + 2326 + 9863 + C + B + B + D + A + C + A + C + C + A + A + C + A + D + B + A + A + A + B + D + + + + Alice + Dave + 2327 + 9863 + B + B + C + C + D + D + B + D + A + C + C + D + B + B + B + C + C + B + D + A + + + + Matthew + Stephanie + 2328 + 9863 + B + D + C + A + C + B + B + C + D + A + B + B + D + C + B + C + C + C + D + B + + + + Thomas + Thomas + 2329 + 9863 + B + A + B + B + D + A + A + B + D + C + A + A + C + B + D + B + C + B + B + B + + + + Stephanie + Rian + 2330 + 9863 + A + A + D + B + B + B + B + B + D + A + B + A + C + C + A + C + B + D + B + D + + + + Matthew + Susan + 2331 + 9863 + C + D + C + A + B + D + C + C + D + C + D + B + D + D + D + D + B + B + C + B + + + + Thomas + Claire + 2332 + 9863 + A + C + C + A + B + B + C + C + B + C + B + B + A + D + C + C + D + D + B + B + + + + Alysander + Susan + 2333 + 9863 + B + C + D + C + B + D + D + C + B + C + C + B + A + D + D + C + B + B + C + B + + + + Bob + Penelope + 2335 + 9863 + D + D + C + B + C + A + C + B + D + C + D + A + C + A + C + C + A + D + A + B + + + + Stephanie + Alysander + 2335 + 9863 + B + B + A + B + C + A + B + B + B + D + C + B + C + B + D + B + D + C + C + B + + + + Jean + Jean + 2336 + 9863 + A + D + A + C + C + D + D + D + A + D + C + C + D + D + B + C + C + D + A + B + + + + Susan + Byron + 2338 + 9863 + C + C + B + C + B + C + D + A + C + A + D + B + A + C + A + B + B + B + A + B + + + + Alysander + Jim + 2339 + 9863 + D + B + D + C + B + B + C + D + B + B + B + A + A + A + B + D + D + D + A + C + + + + Alysander + Jim + 2340 + 9863 + B + A + D + C + C + D + D + C + C + B + D + A + D + B + C + A + B + C + B + C + + + + Dave + Jean + 2340 + 9863 + D + B + B + B + B + C + B + D + B + D + B + A + A + A + D + D + C + C + B + C + + + + Jean + Claire + 2342 + 9863 + D + C + A + D + A + A + C + D + A + C + A + B + A + C + A + A + D + D + C + A + + + + Alice + Matthew + 2342 + 9863 + A + B + C + D + A + D + A + C + B + D + D + D + B + C + D + A + D + C + C + A + + + + Penelope + Penelope + 2343 + 9863 + B + D + B + C + A + D + C + B + C + D + B + A + C + A + D + A + D + C + D + B + + + + Rian + KJ + 2344 + 9863 + B + A + A + D + C + C + D + C + D + D + A + B + D + A + D + C + C + C + C + A + + + + Penelope + Grace + 2345 + 9863 + C + D + B + A + A + C + A + A + A + D + B + A + D + D + B + B + A + B + B + D + + + + Bob + Thomas + 2346 + 9863 + C + C + C + D + B + A + D + D + A + B + A + A + D + D + C + A + D + D + A + C + + + + Byron + Penelope + 2348 + 9863 + C + A + D + C + C + D + C + C + B + D + A + D + D + A + A + C + B + B + C + A + + + + Alice + Byron + 2348 + 9863 + C + B + A + B + D + B + B + B + B + A + A + B + A + B + A + B + D + A + A + B + + + + Bob + Alysander + 002349 + 9863 + D + C + D + D + C + B + D + A + D + B + C + C + D + D + B + C + C + C + B + C + + + + Dave + Jim + 2350 + 9863 + C + C + A + C + D + D + B + D + C + D + D + A + D + D + B + C + A + C + A + B + + + + Alysander + John + 2351 + 9863 + C + C + A + C + B + B + A + C + B + A + D + A + C + B + C + D + A + C + A + C + + + + Steve + Rian + 2353 + 9863 + C + A + A + D + C + D + B + B + C + A + C + A + D + D + A + C + A + B + D + C + + + + Jean + Claire + 2353 + 9863 + B + B + C + D + A + A + A + C + B + C + D + C + C + C + D + B + B + B + C + C + + + + Penelope + Grace + 2354 + 9863 + B + A + A + B + A + C + B + A + D + C + A + B + B + B + D + C + A + A + A + C + + + + Thomas + Dave + 2356 + 9863 + B + C + A + A + A + A + C + B + A + B + D + C + C + D + B + D + C + A + A + D + + + + Byron + KJ + 2356 + 9863 + A + C + A + B + C + C + D + C + D + B + B + B + C + B + C + B + D + D + A + A + + + + Susan + Alysander + 2358 + 9863 + A + D + C + D + A + A + D + C + B + D + B + D + C + C + A + C + B + A + D + D + + + + Daniel + Dave + 2358 + 9863 + D + B + B + A + D + A + B + A + C + A + C + A + C + A + A + A + D + C + D + B + + + + Byron + Thomas + 2359 + 9863 + A + B + D + A + B + D + C + A + B + B + D + D + B + D + D + D + C + A + D + D + + + + Daniel + Jim + 2360 + 9863 + B + D + A + C + D + A + B + A + C + A + B + A + A + B + B + C + C + C + D + B + + + + KJ + Penelope + 2361 + 9863 + A + C + C + B + B + A + A + A + B + B + A + D + B + B + C + D + C + C + A + C + + + + Penelope + John + 2362 + 9863 + C + B + D + B + D + C + C + D + C + A + D + A + D + D + A + D + A + D + D + A + + + + Claire + Alysander + 2364 + 9863 + A + A + C + B + B + C + C + B + C + C + B + D + D + A + D + A + C + B + A + B + + + + KJ + Alysander + 2364 + 9863 + A + A + B + D + D + B + B + C + A + B + B + A + A + B + D + C + B + A + C + B + + + + John + Penelope + 2366 + 9863 + B + A + C + D + D + D + B + C + A + B + A + B + B + D + A + A + C + B + C + D + + + + Stephanie + Daniel + 2367 + 9863 + B + B + B + C + B + A + B + B + D + D + A + B + C + C + A + B + A + B + A + B + + + + Jean + Dave + 2367 + 9863 + B + A + D + A + A + B + C + C + D + B + B + A + D + D + A + A + D + B + A + A + + + + Byron + Alice + 2368 + 9863 + D + B + D + C + D + A + A + C + A + C + D + C + B + A + A + A + B + A + A + D + + + + Stephanie + KJ + 2369 + 9863 + D + C + C + A + A + D + C + B + C + A + D + B + B + D + A + A + D + C + B + C + + + + Penelope + Jeff + 2371 + 9863 + A + B + B + D + D + C + C + D + A + B + B + D + B + B + A + D + C + B + A + C + + + + Dave + Stephanie + 2371 + 9863 + D + D + A + C + C + D + B + D + B + C + D + A + C + A + C + C + D + D + A + B + + + + Jeff + Bob + 2372 + 9863 + B + A + D + D + A + D + C + D + C + C + B + A + A + D + B + B + C + C + B + B + + + + Dave + Grace + 2374 + 9863 + A + C + C + C + B + B + D + D + A + D + D + D + A + A + A + A + C + C + A + A + + + + Susan + Thomas + 2374 + 9863 + D + B + C + D + A + D + D + A + A + D + B + C + B + B + B + C + B + A + C + B + + + + Jim + Penelope + 2375 + 9863 + A + D + C + B + B + D + B + B + D + D + B + D + D + B + C + B + C + C + A + B + + + + Matthew + Bob + 2376 + 9863 + C + B + D + C + D + C + B + C + D + D + B + D + A + D + A + C + C + B + C + B + + + + Jim + Jean + 2377 + 9863 + B + C + B + A + C + B + A + D + A + A + B + D + A + C + A + A + A + C + C + D + + + + Dave + Alysander + 2378 + 9863 + D + C + D + C + D + C + B + D + A + B + C + C + D + A + C + B + A + D + D + C + + + + Bob + Byron + 2380 + 9863 + A + C + A + A + C + D + B + A + B + B + C + C + D + D + C + B + B + B + D + C + + + + Alice + Stephanie + 2380 + 9863 + A + A + C + C + C + B + B + C + A + B + A + B + B + B + B + D + A + A + C + D + + + + Rian + Claire + 2381 + 9863 + D + B + C + A + A + C + C + D + A + B + D + C + C + A + A + A + B + D + C + D + + + + Daniel + Dave + 2382 + 9863 + B + D + B + B + C + C + D + C + B + A + D + D + B + D + C + B + D + B + D + C + + + + Bob + Penelope + 2384 + 9863 + A + D + A + A + C + C + D + B + D + B + D + A + D + A + D + A + D + D + B + A + + + + Daniel + Daniel + 2384 + 9863 + A + B + C + A + A + A + A + A + D + D + A + B + C + B + A + C + A + D + D + B + + + + Jeff + Dave + 2385 + 9863 + D + D + D + D + D + C + D + A + C + D + A + D + A + D + A + A + C + C + B + A + + + + Jeff + Thomas + 2386 + 9863 + D + C + B + C + C + A + C + B + A + C + D + D + A + D + B + A + D + D + B + A + + + + Jim + Jean + 2387 + 9863 + B + D + D + C + C + B + A + A + B + A + A + D + A + A + B + B + C + D + B + B + + + + Alysander + Stephanie + 2388 + 9863 + C + B + A + C + C + B + D + D + C + D + B + C + C + D + C + B + A + D + D + A + + + + Steve + Byron + 2389 + 9863 + C + A + D + A + B + A + A + C + D + C + B + A + D + C + D + D + B + C + A + A + + + + John + Jim + 2390 + 9863 + A + B + C + C + B + C + B + B + B + B + D + C + B + B + A + D + A + B + A + A + + + + Susan + Claire + 2391 + 9863 + D + C + A + B + C + D + D + C + B + C + A + A + B + D + B + C + A + C + C + B + + + + Byron + Penelope + 2392 + 9863 + B + C + C + A + D + D + C + D + D + D + C + B + D + C + C + A + A + B + A + C + + + + Jean + Matthew + 2393 + 9863 + C + B + B + C + B + B + C + A + C + A + C + B + A + C + A + D + D + D + A + C + + + + Bob + Bob + 2394 + 9863 + B + B + D + D + A + A + A + C + D + C + B + A + D + C + A + B + B + A + A + B + + + + Byron + John + 2395 + 9863 + C + A + D + A + B + D + B + D + C + C + A + A + A + C + A + D + B + C + A + B + + + + Penelope + Grace + 2396 + 9863 + B + C + B + C + A + D + C + C + B + B + A + B + B + B + A + A + C + C + D + B + + + + John + John + 2398 + 9863 + A + C + C + B + C + C + B + D + A + B + C + A + B + A + D + D + B + D + D + A + + + + Jean + Stephanie + 2398 + 9863 + D + D + C + A + D + A + D + C + B + B + B + D + A + C + D + C + C + C + B + C + + + \ No newline at end of file -- cgit v1.2.3