Giter Site home page Giter Site logo

x-common's Introduction

x-Common

Shared metadata for Exercism exercises. The doc/ subdirectory contains all documentation that is not specific to a language track.

Contributing Guide

Please see the contributing guide

Problem metadata

Each problem's data lives in a directory under exercises/

exercises/
├── accumulate
│   ├── description.md
│   └── metadata.yml
├── ...
├── minesweeper
│   ├── canonical-data.json
│   ├── description.md
│   └── metadata.yml
├── ...
└── zipper
    ├── description.md
    └── metadata.yml

There are three metadata files:

  • description.md - the basic problem description
  • metadata.yml - additional information about the problem, such as where it came from
  • canonical-data.json (optional) - standardized test inputs and outputs that can be used to implement the problem

Test Data Format (canonical-data.json)

This data can be incorporated into test programs manually or extracted by a program. The file contains a single JSON object with a key for documentation and keys for various tests that may be meaningful for a problem.

The documentation uses the key "#" with a list of strings as the value. These strings document how the problem readme (description.md) is generally interpreted in test programs across different languages. In addition to a mainstream implementation path, this information can also document significant variations.

Each test case has the the following keys: description: which will be used to name each generated test 'variable names': one or more variable names with values which will be passed to the solution method expected: the expected result (this would be -1 when we expect an exception) msg: a nice message for the failing case

Automated Tests

The only thing that we're testing at the moment, is whether or not canonical-data.json is valid json.

If you want to run this before you commit, you will need to install jq. Then run the script with:

bin/jsonlint

License

The MIT License (MIT)

Copyright (c) 2014 Katrina Owen, [email protected]

x-common's People

Contributors

kytrinyx avatar petertseng avatar erikschierboom avatar jeremy-w avatar pminten avatar kotp avatar ianwhitney avatar jonatas avatar soniakeys avatar abeger avatar etrepum avatar mike-hewitson avatar cohen-carlisle avatar henrik avatar ryanplusplus avatar rmunn avatar vosechu avatar insti avatar andrey-gvrd avatar jrdnull avatar legalizeadulthood avatar sjakobi avatar behrtam avatar betegelse avatar masters3d avatar matthewmorgan avatar rbasso avatar cebial avatar tommyschaefer avatar suzannehamilton avatar

Watchers

Josh Branchaud avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.