diff --git a/src/server/procedures/protected/challenges/runCodeProcedure.ts b/src/server/procedures/protected/challenges/runCodeProcedure.ts index fbd3784..d2b1c81 100644 --- a/src/server/procedures/protected/challenges/runCodeProcedure.ts +++ b/src/server/procedures/protected/challenges/runCodeProcedure.ts @@ -43,7 +43,7 @@ export function fillFunctionCall( paramTypes: string[], ) { const regex = - /^\[\s*(?:(?:"[^"]*"|\d+\.\d*|\d+|'[^']*'|true|false|null)(\s*,\s*(?:"[^"]*"|\d+\.\d*|\d+|'[^']*'|true|false|null))*)?\s*\]$/; + /^\[\s*(?:(?:"[^"]*"|-?\d+\.\d*|-?\d+|'[^']*'|true|false|null)(\s*,\s*(?:"[^"]*"|-?\d+\.\d*|-?\d+|'[^']*'|true|false|null))*)?\s*\]$/; const inputs = exampleInputs.split("\n"); for (let i = 0; i < inputs.length; i++) { @@ -52,6 +52,7 @@ export function fillFunctionCall( if (language === "cpp" && regex.test(input)) { const temp = input.slice(1, -1).split(","); const newInput = `{${temp.join(",").replaceAll(`'`, `"`)}}`; + console.log(newInput); header = header.replace(".", newInput); // convert test case booleans to capitalized for Python } else if (language === "python" && paramTypes[i] === "boolean") diff --git a/src/server/procedures/protected/challenges/submitCodeProcedure.ts b/src/server/procedures/protected/challenges/submitCodeProcedure.ts index 23cf2e6..64e5394 100644 --- a/src/server/procedures/protected/challenges/submitCodeProcedure.ts +++ b/src/server/procedures/protected/challenges/submitCodeProcedure.ts @@ -65,7 +65,7 @@ export default protectedProcedure headerType === "stringArr" || headerType === "doubleArr" ) { - boilerPlate = `templateostream& operator<<(ostream& os, const vector& vec) {os << "{";for (size_t i = 0;i < vec.size(); ++i) {os << vec[i]; if (i != vec.size() - 1) os << ", ";}os << "}";return os;}int main() {${funcsToExecuteString};return 0;}`; + boilerPlate = `templateostream& operator<<(ostream& os, const vector& vec) {os << "{";for (size_t i = 0;i < vec.size(); ++i) {os << vec[i]; if (i != vec.size() - 1) os << ", ";}os << "}";return os;}int main() {${funcsToExecuteString}return 0;}`; } else boilerPlate = `int main(){${funcsToExecuteString}}`; } @@ -152,7 +152,6 @@ export default protectedProcedure }); } } - const maxOutputs = Math.max(expectedOutputs.length, stdOuts.length); let passCount = 0; for (let i = 0; i < maxOutputs; i++)