Skip to content

Commit 59f9c88

Browse files
committed
basic test for all langs written
Signed-off-by: Tathagat Thapliyal <tathagat.thapliyal@gmail.com>
1 parent 0be9b2f commit 59f9c88

File tree

8 files changed

+249
-9
lines changed

8 files changed

+249
-9
lines changed

test/submission/submit.cpp.spec.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {execute} from '../../src/tasks/'
2-
import {expect} from 'chai'
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
33
import { SubmitJob } from '../../src/tasks/job'
44
import { SubmissionResult } from '../../src/types/result'
55

@@ -15,21 +15,22 @@ describe('submit - cpp', () => {
1515
return 0;
1616
}`
1717

18-
const submitResult = <SubmissionResult>await execute(new SubmitJob({
18+
const submitResult = await execute(new SubmitJob({
1919
id: 1,
2020
lang: 'cpp',
2121
source: (new Buffer(source)).toString('base64'),
22-
testcases: [{
23-
id: 1,
24-
input: 'https://minio.cb.lk/public/input',
25-
output: 'https://minio.cb.lk/public/output'
22+
testcases: [{
23+
id: 1,
24+
input: 'https://minio.cb.lk/public/input',
25+
output: 'https://minio.cb.lk/public/output'
2626
}]
2727
}))
28-
28+
2929
console.log(submitResult)
3030

3131
// assertions
32-
expect(1).to.eq(1)
32+
expect(submitResult.testcases[0].result).to.eq('Success')
33+
expect(submitResult.testcases[0].score).to.eq(100)
3334
})
3435
})
3536

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - csharp', () => {
7+
it('.cs file submits correctly', async () => {
8+
const source = `
9+
using System;
10+
public class HelloWorld {
11+
static public void Main () {
12+
Console.WriteLine ("Hello " + Console.ReadLine());
13+
}
14+
}
15+
`
16+
const submitResult = await execute(new SubmitJob({
17+
id: 1,
18+
lang: 'csharp',
19+
source: (new Buffer(source)).toString('base64'),
20+
testcases: [{
21+
id: 1,
22+
input: 'https://minio.cb.lk/public/input',
23+
output: 'https://minio.cb.lk/public/output'
24+
}]
25+
}))
26+
27+
console.log(submitResult)
28+
29+
//assertion
30+
expect(submitResult.testcases[0].result).to.eq('Success')
31+
expect(submitResult.testcases[0].score).to.eq(100)
32+
33+
})
34+
})
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - java8', () => {
7+
it('.java file submits correctly (java8)', async () => {
8+
const source = `
9+
import java.util.Scanner;
10+
public class Main {
11+
public static void main(String[] args) {
12+
Scanner in = new Scanner(System.in);
13+
String input = in.next();
14+
System.out.println("Hello " + input);
15+
}
16+
}
17+
`
18+
19+
const submitResult = await execute(new SubmitJob({
20+
id: 1,
21+
lang: 'java8',
22+
source: (new Buffer(source)).toString('base64'),
23+
testcases: [{
24+
id: 1,
25+
input: 'https://minio.cb.lk/public/input',
26+
output: 'https://minio.cb.lk/public/output'
27+
}]
28+
}))
29+
30+
console.log(submitResult)
31+
32+
// assertions
33+
expect(submitResult.testcases[0].result).to.eq('Success')
34+
expect(submitResult.testcases[0].score).to.eq(100)
35+
})
36+
})
37+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - nodejs10', () => {
7+
it('.js file submits correctly (nodejs10)', async () => {
8+
const source = `
9+
const readline = require('readline');
10+
const rl = readline.createInterface({
11+
input: process.stdin,
12+
output: process.stdout,
13+
terminal: false
14+
});
15+
rl.on('line', function (line) {
16+
console.log("Hello " + line);
17+
})
18+
`
19+
20+
const submitResult = await execute(new SubmitJob({
21+
id: 1,
22+
lang: 'nodejs10',
23+
source: (new Buffer(source)).toString('base64'),
24+
testcases: [{
25+
id: 1,
26+
input: 'https://minio.cb.lk/public/input',
27+
output: 'https://minio.cb.lk/public/output'
28+
}]
29+
}))
30+
31+
console.log(submitResult)
32+
33+
// assertions
34+
expect(submitResult.testcases[0].result).to.eq('Success')
35+
expect(submitResult.testcases[0].score).to.eq(100)
36+
})
37+
})
38+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - nodejs8', () => {
7+
it('.js file submits correctly (nodejs8)', async () => {
8+
const source = `
9+
const readline = require('readline');
10+
const rl = readline.createInterface({
11+
input: process.stdin,
12+
output: process.stdout,
13+
terminal: false
14+
});
15+
rl.on('line', function (line) {
16+
console.log("Hello " + line);
17+
})
18+
`
19+
20+
const submitResult = await execute(new SubmitJob({
21+
id: 1,
22+
lang: 'nodejs8',
23+
source: (new Buffer(source)).toString('base64'),
24+
testcases: [{
25+
id: 1,
26+
input: 'https://minio.cb.lk/public/input',
27+
output: 'https://minio.cb.lk/public/output'
28+
}]
29+
}))
30+
31+
console.log(submitResult)
32+
33+
// assertions
34+
expect(submitResult.testcases[0].result).to.eq('Success')
35+
expect(submitResult.testcases[0].score).to.eq(100)
36+
})
37+
})
38+

test/submission/submit.py2.spec.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - py2', () => {
7+
it('.py file submits correctly (py2)', async () => {
8+
const source = `
9+
inp = raw_input()
10+
print("Hello " + inp)
11+
`
12+
13+
const submitResult = await execute(new SubmitJob({
14+
id: 1,
15+
lang: 'py2',
16+
source: (new Buffer(source)).toString('base64'),
17+
testcases: [{
18+
id: 1,
19+
input: 'https://minio.cb.lk/public/input',
20+
output: 'https://minio.cb.lk/public/output'
21+
}]
22+
}))
23+
24+
console.log(submitResult)
25+
26+
// assertions
27+
expect(submitResult.testcases[0].result).to.eq('Success')
28+
expect(submitResult.testcases[0].score).to.eq(100)
29+
})
30+
})
31+

test/submission/submit.py3.spec.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - py3', () => {
7+
it('.py file submits correctly (py3)', async () => {
8+
const source = `
9+
inp = input()
10+
print("Hello " + inp)
11+
`
12+
13+
const submitResult = await execute(new SubmitJob({
14+
id: 1,
15+
lang: 'py3',
16+
source: (new Buffer(source)).toString('base64'),
17+
testcases: [{
18+
id: 1,
19+
input: 'https://minio.cb.lk/public/input',
20+
output: 'https://minio.cb.lk/public/output'
21+
}]
22+
}))
23+
24+
console.log(submitResult)
25+
26+
// assertions
27+
expect(submitResult.testcases[0].result).to.eq('Success')
28+
expect(submitResult.testcases[0].score).to.eq(100)
29+
})
30+
})
31+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { execute } from '../../src/tasks/'
2+
import { expect } from 'chai'
3+
import { SubmitJob } from '../../src/tasks/job'
4+
import { SubmissionResult } from '../../src/types/result'
5+
6+
describe('submit - ruby', () => {
7+
it('.rb file submits correctly (ruby)', async () => {
8+
const source = `
9+
puts "Hello " + gets.to_s
10+
`
11+
12+
const submitResult = await execute(new SubmitJob({
13+
id: 1,
14+
lang: 'ruby',
15+
source: (new Buffer(source)).toString('base64'),
16+
testcases: [{
17+
id: 1,
18+
input: 'https://minio.cb.lk/public/input',
19+
output: 'https://minio.cb.lk/public/output'
20+
}]
21+
}))
22+
23+
console.log(submitResult)
24+
25+
// assertions
26+
expect(submitResult.testcases[0].result).to.eq('Success')
27+
expect(submitResult.testcases[0].score).to.eq(100)
28+
})
29+
})
30+

0 commit comments

Comments
 (0)