Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcc8a217

Browse files
Vigilansjdneo
authored andcommitted
Refactor test & submit output format (#20)
1 parentad2e01c commitcc8a217

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

‎lib/commands/submit.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
'use strict';
22
varutil=require('util');
3+
varlodash=require('lodash');
34

45
varh=require('../helper');
56
varfile=require('../file');
@@ -29,7 +30,7 @@ function printResult(actual, k) {
2930
constv=actual[k]||'';
3031
constlines=Array.isArray(v) ?v :[v];
3132
for(letlineoflines){
32-
if(k!=='state')line=k+': '+line;
33+
if(k!=='state')line=lodash.startCase(k)+': '+line;
3334
log.info(' '+h.prettyText(' '+line,actual.ok));
3435
}
3536
}
@@ -98,6 +99,7 @@ cmd.handler = function(argv) {
9899
// ratio.toFixed(2), lang);
99100
// });
100101
}else{
102+
result.testcase=result.testcase.slice(1,-1).replace(/\\n/g,'\n');
101103
printResult(result,'error');
102104
printResult(result,'testcase');
103105
printResult(result,'answer');

‎lib/commands/test.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22
var_=require('underscore');
3+
varlodash=require('lodash');
4+
varutil=require('util');
35

46
varh=require('../helper');
57
varfile=require('../file');
@@ -36,18 +38,18 @@ const cmd = {
3638
}
3739
};
3840

39-
functionprintResult(actual,expect,k){
41+
functionprintResult(actual,extra,k){
4042
if(!actual.hasOwnProperty(k))return;
4143
// HACk: leetcode still return 'Accepted' even the answer is wrong!!
4244
constv=actual[k]||'';
4345
if(k==='state'&&v==='Accepted')return;
4446

4547
letok=actual.ok;
46-
if(expect&&!_.isEqual(actual[k],expect[k]))ok=false;
4748

4849
constlines=Array.isArray(v) ?v :[v];
4950
for(letlineoflines){
50-
if(k!=='state')line=k+': '+line;
51+
constextraInfo=extra ?` (${extra})` :'';
52+
if(k!=='state')line=lodash.startCase(k)+extraInfo+': '+line;
5153
log.info(' '+h.prettyText(' '+line,ok));
5254
}
5355
}
@@ -73,23 +75,23 @@ function runTest(argv) {
7375
problem.file=argv.filename;
7476
problem.lang=meta.lang;
7577

76-
log.info('\nInput data:');
77-
log.info(problem.testcase);
78-
7978
core.testProblem(problem,function(e,results){
8079
if(e)returnlog.fail(e);
8180

8281
results=_.sortBy(results,x=>x.type);
83-
for(leti=0;i<results.length;++i){
84-
log.info();
85-
log.info(chalk.yellow(results[i].type));
86-
87-
printResult(results[i],null,'state');
88-
printResult(results[i],null,'runtime');
89-
printResult(results[i],results[i+1],'answer');
90-
printResult(results[i],results[i+1],'stdout');
91-
printResult(results[i],null,'error');
92-
}
82+
if(results[0].state==='Accepted')
83+
results[0].state='Finished';
84+
printResult(results[0],null,'state');
85+
printResult(results[0],null,'error');
86+
87+
results[0].your_input=problem.testcase;
88+
results[0].output=results[0].answer;
89+
results[1].expected=results[1].answer;
90+
results[0].stdout=results[0].stdout.slice(1,-1).replace(/\\n/g,'\n');
91+
printResult(results[0],null,'your_input');
92+
printResult(results[0],results[0].runtime,'output');
93+
printResult(results[1],results[1].runtime,'expected');
94+
printResult(results[0],null,'stdout');
9395
});
9496
});
9597
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp