Comments (1)
Think about how this could enable simple exercise like:
The variable
x
is assigned an array[1, 2, 3, 4]
. Add the integer5
(int
) to the end of this array.
So a possible test suite might look like:
- statement: 'x = [1, 2, 3, 4]' # setup: storage location of list must be captured in global scope
- <execute submisson> # insert submission at this position in test script
- expression: 'x' # test script
return: [1, 2, 3, 4, 5]
oracle: 'custom' # checks both equality and identity of list
This requires some form of setup (code executed before the submission itself is executed). It also requires a way to explicitly put the submission at some place in the test script (by default it is automatically inserted as the first statement/expressoin in the script). This may also serve some other purposes:
- embed the submission in skeleton code (i.e. add a prefix and or suffix to the submission) provided in the test suite (e.g. student is only asked to complete a commando line: prefix is given, submission is used as a prefix; so-called fill-in-the-gaps exercise; we could also allow to modify the submission in a programmed way, as we do with test oracles)
- allow multi-part submissions where individual parts can be inserted, executed and tested separately
from universal-judge.
Related Issues (20)
- Support files for Dodona debugger (Python tutor)
- Remove python input prompt from stdout HOT 2
- Allow running local exercise by using path to exercise folder
- Off-by-one error in placing linter messages for TESTed-bash
- Do not ignore leading & trailing whitespace by default HOT 8
- Investigate pylint error HOT 1
- Allow setting "namespace" on lower levels HOT 1
- Investigate internal error HOT 1
- Inconsistent naming of bash shell scripts
- Run custom oracles with test directory as its current working directory
- Remove ability to write custom oracles (or check functions) in anything but Python?
- Output fallthrough
- JSON failed to parse HOT 1
- Fetch stdin from file as an alternative to inlining it into test suite HOT 1
- Do not quote options on bash command lines generated by TESTed
- Support tests for files
- Generate "final" variables if possible
- Show stdin as a separate channel when used in combination with arguments HOT 2
- Closing newline insertion HOT 1
- Specify interface that must be implemented
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from universal-judge.