/typescript-datastructure

Data Structures by Typescript, Testing and CI

Primary LanguageTypeScript

Typescript Data Structure

This is Typescript Data Structure project, but It's not aim to Fast, Light, and Powerful implementation.

building status

Motivation

This project aims to show how Typescript (Typed Language) solves well-known software problem. That's why This project implements data structures.

This project want shows OOP(Object-ed-Programming) with Typescript.

This project want shows modern development methodology TDD(Test-Driven Development), BDD(Behavior-Driven Development).

This project want shows How to manage software health continuously.

Build / Test Automation ( with Code coverage Report) would shows current status of software healthy and robust.

Data Structures

  • DataStore Test Specs
  • DataStore Implementations
  • Stack Test Specs
  • Stack Implementations
  • Queue Test Specs
  • Queue Implementations
  • List Test Specs
  • List Implementations
  • LinkedList Test Specs
  • LinkedList Implementations
  • Search Algorithm Test Specs
  • Search Algorithm Implementations
  • Sort Algorithm Test Specs
  • Sort Algorithm Implementations

about type DataStore

DataStore is 'Abstraction of data storage' generic type of this project.

Array [] is used as data storage in general data structure. Array is simple, fast type itself, but Consumer should manage array index and implements common interface repeat.

DataStore uses Array internally, and provide conceptual interface to Consumer. This design approach makes SW more manageable.

Installing

npm run setup

Running the tests

npm test

test reports only.

npm run test-with-coverage

will generates coverage reports with test reports.

And coding style tests

Writes Test specs according by Specification by Example that would be Living Documentation.

Given
When
Then

as possible.

Code documentation

Typedoc would generates code documents from code comments.

npm run docs

Deployment

This project setup deployments automatically. Travis-CI and Github release.

Travis CI status

travis

Testing reports

publish on Github pages https://vandbt.github.io/typescript-datastructure/. testing reports

Coverage reports

publish on Github pages under ./coverage https://vandbt.github.io/typescript-datastructure/coverage.

coverage reports

Built With

  • Typescript - The language used
  • Node - The build and dev environment
  • NPM - Package Management
  • Mocha - Used to Test framework
  • Chai - Used to TDD/BDD assertion library
  • istanbul - Used to test coverage
  • Typedoc - Used to code document
  • Travis CI - Used to Continuos Integration

Knowledge With

  • OOP (Object-Oriented Programming / Design)
  • TDD (Test-Driven Development)
  • BDD (Behavior-Driven Development)
  • Agile

Versioning

Hope to follow SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • TBD