LegacyMoodleResult.java 2.43 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package de.hftstuttgart.models;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class LegacyMoodleResult {

    public List<LegacyMoodleTestResult> testResults;
    public List<LegacyMoodleCompilationError> compilationErrors;

    public static LegacyMoodleResult convertToModdleResult(ModocotResultSummary summary) {
        LegacyMoodleTestResult tests = new LegacyMoodleTestResult();
        tests.failureCount = summary.failureCount;
        tests.testCount = summary.testCount;
        tests.successfulTests = summary.successes.stream()
            .map(s -> s.name)
            .collect(Collectors.toList());
        tests.testFailures = summary.failures.stream()
            .map(f -> {
                LegacyMoodleTestFailure failure = new LegacyMoodleTestFailure();
                failure.testHeader = f.name;
                failure.message = f.failureReason;
                failure.trace = f.stacktrace;

                return failure;
            })
            .collect(Collectors.toList());

        List<LegacyMoodleCompilationError> compilationErrors;
        compilationErrors = summary.compilationErrors.stream()
            .map(f -> {
                LegacyMoodleCompilationError cError = new LegacyMoodleCompilationError();
                cError.javaFileName = f.name;
                cError.message = f.failureReason;
                cError.lineNumber = f.lineNumber;
                cError.columnNumber = f.columnNumber;
                cError.position = f.position;

                return cError;
            })
            .collect(Collectors.toList());

        LegacyMoodleResult result = new LegacyMoodleResult();
        result.testResults = Collections.singletonList(tests);
        result.compilationErrors = compilationErrors;

        return result;
    }

    private static class LegacyMoodleTestResult {
        public String testName = "UnitTests";
        public int testCount;
        public int failureCount;
        public List<String> successfulTests;
        public List<LegacyMoodleTestFailure> testFailures;
    }

    private static class LegacyMoodleTestFailure {
        public String testHeader;
        public String message;
        public String trace;
    }

    private static class LegacyMoodleCompilationError {
        public String message;
        public String javaFileName;
        public int lineNumber;
        public int columnNumber;
        public int position;
    }
}