Tests and implementations for common data structures.
Base repository for the Core Data Structures goal.
List of specifications (specs) for the completed goal. These are declarative sentences (statements) describing a feature of the final product.
This is a core goal. The specifications are non-negotiable. To complete this goal, you must complete all specs listed below.
- Artifact produced is a fork of the core-data-structures repo.
- Can run all tests with
npm test
. - All tests are passing.
- For each data structure identified above, there exists:
- a test file with unit tests for each method and property.
- an implementation file with a correct implementation of the data structure.
Do not remove these specs - they are required for all goals.
- The artifact produced is properly licensed, preferably with the MIT license.
Pick a different programming language from JavaScript--we chose Ruby! Write tests & implementations for each.
- Can run all non-JavaScript tests with a single command.
- For each data structure identified above, there exists:
- a test file with unit tests for each method and property in a language other than JavaScript (ruby).
- an implementation file with a correct implementation of the data structure in a language other than JavaScript.
Well formatted code
- Code uses a linter, which can be invoked with a command (e.g.
npm run lint
). [50 points] - Running the linter on all source code files generates no linting errors. [50 points]
Clear and useful README
- Repository includes a README file with installation and setup instructions. [25 points]
- Repository includes a README file with usage instructions and at least one example use case. [25 points]
Proper dependency management
- There is a command to install dependencies (e.g.
npm install
) and it is specified in the installation and setup instructions of the README. [50 points]
Good project management
- Commit messages are concise and descriptive. [25 points]
- All features are added via pull requests. [25 points]
- Every pull request has a description summarizing the changes made. [25 points]
- Every pull request has been reviewed by at least one other person. [25 points]
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.