problem-specifications icon indicating copy to clipboard operation
problem-specifications copied to clipboard

Implement canonical data for all non-deprecated exercises

Open kytrinyx opened this issue 8 years ago • 8 comments

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.

kytrinyx avatar Feb 13 '17 01:02 kytrinyx

Should canonical data be required for any new exercises added (if it isn't already)?

stkent avatar Feb 13 '17 02:02 stkent

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.

kytrinyx avatar Feb 13 '17 04:02 kytrinyx

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.

kotp avatar Feb 20 '17 19:02 kotp

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.

petertseng avatar Feb 26 '17 00:02 petertseng

Hi. I'm going to mark all the subtasks of this task as good first patch.

petertseng avatar Apr 25 '17 02:04 petertseng

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)

ilya-khadykin avatar Aug 05 '17 08:08 ilya-khadykin

Good call, @m-a-ge, I've rewritten a bit to add the suggested link, and fix the two dead ones.

kytrinyx avatar Aug 05 '17 14:08 kytrinyx

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

ErikSchierboom avatar May 23 '21 08:05 ErikSchierboom