#ifndef OJPROBLEMSET_H #define OJPROBLEMSET_H #include #include #include enum class ProblemCaseTestState { NotTested, Testing, Passed, Failed }; struct OJProblemCase { QString name; QString input; QString expected; ProblemCaseTestState testState; // no persistence QString output; // no persistence OJProblemCase(); public: const QString &getId() const; private: QString id; }; using POJProblemCase = std::shared_ptr; struct OJProblem { QString name; QString url; QString description; QString answerProgram; QVector cases; }; using POJProblem = std::shared_ptr; struct OJProblemSet { QString name; QVector problems; }; using POJProblemSet = std::shared_ptr; #endif // OJPROBLEMSET_H