problem-specifications
problem-specifications copied to clipboard
Implement canonical data for all non-deprecated exercises
A number of the exercises are still missing canonical data. Adding this would help make it easier for people to get involved in contributing to Exercism language tracks.
Canonical data is a standardized set of test inputs/outputs that makes it easier to implement exercises from specifications and keep exercises consistent as the test suites evolve.
These issues link back to this one. Once they're all fixed and closed, this issue can also be closed.
Should canonical data be required for any new exercises added (if it isn't already)?
That's a good question. I think that it should be encouraged, but another option is to open a "canonical data" issue for the new exercise and let someone else tackle it.
Given a "Proof of Concept" as the given example program and tests, the canonical is probably not a leap for a second party to tackle, and, presumably, the creator is interested and so still available for input. I think that works.
Don't mind me, just putting this somewhere where I can find it easily again:
curl http://x.exercism.io/v3/problems/data-todos | jq '.[] | map(select(.["slug"] == "accumulate"))'
Note that the contribute page ~http://exercism.io/contribute/canonical-data/accumulate~ https://web.archive.org/web/20170811032845/http://exercism.io:80/contribute/canonical-data/accumulate¹ does a good job of showing this, making curl | jq mostly unnecessary.
1: Link updated to show, as it has moved since this was posted.
Hi. I'm going to mark all the subtasks of this task as good first patch.
Both links mentioned in the description are dead now:
I assume the valid one should be Getting Involved in an Exercism Language Track to avoid any confusion for newcomers. I also think there is no point of updating any sub issues as long as the parent has correct info
@kytrinyx, could you please update the description, here is the link:
[Getting Involved in an Exercism Language Track](https://github.com/exercism/docs/tree/master/contributing-to-language-tracks)
Good call, @m-a-ge, I've rewritten a bit to add the suggested link, and fix the two dead ones.
I've just ran a command (find . -type d -maxdepth 1 -mindepth 1 -exec ls {}/canonical-data.json \; | grep 'No such' ) to check which canonical data are not yet implemented:
ls: ./error-handling/canonical-data.json: No such file or directory
ls: ./ledger/canonical-data.json: No such file or directory
ls: ./strain/canonical-data.json: No such file or directory
ls: ./dot-dsl/canonical-data.json: No such file or directory
ls: ./lens-person/canonical-data.json: No such file or directory
ls: ./tree-building/canonical-data.json: No such file or directory
ls: ./hangman/canonical-data.json: No such file or directory
ls: ./paasio/canonical-data.json: No such file or directory
ls: ./point-mutations/canonical-data.json: No such file or directory
ls: ./nucleotide-codons/canonical-data.json: No such file or directory
ls: ./bank-account/canonical-data.json: No such file or directory
ls: ./robot-name/canonical-data.json: No such file or directory
ls: ./counter/canonical-data.json: No such file or directory
ls: ./hexadecimal/canonical-data.json: No such file or directory
ls: ./octal/canonical-data.json: No such file or directory
ls: ./simple-linked-list/canonical-data.json: No such file or directory
ls: ./parallel-letter-frequency/canonical-data.json: No such file or directory