问题的基本信息
interface ProblemSerializer {
id: number;
name: string;
type: ProblemType;
description: string;
publicFiles: Array<string>;
protectedFiles: Array<string>;
privateFiles: Array<string>;
createdAt: LocalDateTime;
modifiedAt: LocalDateTime;
deprecated: boolean;
creator: {
id: number;
username: string;
};
}
enum ProblemType{
/**
* 普通Java题目,统计测试用例通过情况
*/
JAVA("Java", "JAVA", "TEST",
new JavaHelper(), new BasicEvaluator()),
/**
* 带数据库的Java题目,统计测试用例通过情况
*/
JAVA_DATABASE("Java", "JAVA", "TEST",
new JavaDatabaseHelper(), new BasicEvaluator()),
/**
* 普通Python题目,统计测试用例通过情况
*/
PYTHON("Python", "PYTHON", "TEST",
new PythonHelper(), new PythonEvaluator()),
/**
* Java测试覆盖率题目,统计测试覆盖率
*/
JAVA_COVERAGE("Java Coverage", "JAVA", "COVERAGE",
new JavaCoverageHelper(), new BasicCoverageEvaluator()),
/**
* Python测试覆盖率题目,统计测试覆盖率
*/
PYTHON_COVERAGE("Python Coverage", "PYTHON", "COVERAGE",
new PythonCoverageHelper(), new BasicCoverageEvaluator()),
/**
* Java变异覆盖题目,统计变异覆盖率
*/
JAVA_MUTATION("Java Mutation", "JAVA", "MUTATION",
new JavaMutationHelper(), new BasicMutationEvaluator());
}