mechanical gears

Pierre Fromager 4c0d7ed636 feat : use case index.php 3 年之前
doc 13349d710a doc : asset composed system 3 年之前
src 4c0d7ed636 feat : use case index.php 3 年之前
tests c07220f7cc test : improve system test when composed 3 年之前
.gitignore 4c0d7ed636 feat : use case index.php 3 年之前
.scrutinizer.yml 16b2528680 ci : travis + scrutinizer + badges OK 3 年之前
.travis.yml ec766a8cb9 ci : travis + scrutinizer + badges OK 3 年之前
README.md e42daa0b2b ci : travis + scrutinizer + badges OK 3 年之前
composer.json c07220f7cc test : improve system test when composed 3 年之前
composer.lock c07220f7cc test : improve system test when composed 3 年之前
phpdox.xml c07220f7cc test : improve system test when composed 3 年之前
phpdoxpatch.sh 16b2528680 ci : travis + scrutinizer + badges OK 3 年之前
phpstan.neon f948d42943 phpstan : code enforcement l6 3 年之前
phpunit.xml 5aee405ff8 doc : README fix use cases files 3 年之前

README.md

Gears

Calculate torques, speeds, direction for each items of a gear system.
Watch youtube explainations.

TravsisBadgeBuild CoverageCi ScrutinizerCq Latest Stable Version Total Downloads Latest Unstable Version

Gear

Composed by

  • Id
  • Teeth
  • Torque
  • Speed
  • Forward
  • Composed

Gear system

4 distinct gears

4gears

Check use case parameters file.

Input

Id Teeth Torque Speed Forward Composed
A 8 20 150 true false
B 10 ? ? ? false
C 20 ? ? ? false
D 8 ? ? ? false

Output

Id Teeth Torque Speed Forward Composed
A 8 20 150 true false
B 10 25 120 false false
C 20 50 60 true false
D 8 20 150 false false

4 gears with BC composed

4gears_composed

Check use case parameters file.

Input

Id Teeth Torque Speed Forward Composed
A 8 20 150 true false
B 10 ? ? ? false
C 20 ? ? ? true
D 8 ? ? ? false

Output

Id Teeth Torque Speed Forward Composed
A 8 20 150 true false
B 10 25 120 false false
C 20 25 120 false true
D 8 10 300 true false

Setup

First git clone this repo.

Requirements

  • php >= 7.3
  • composer
  • phpdbg

Composer scripts

Setup dependencies (once)

composer install

Run use case

composer start

Run unit tests and generate coverage.
After tests ran, to check coverage, open your browser in coverage folder and pick index.html file

composer test

Lint project as PSR12

composer lint

Update dependencies and regenerate autoloader PSR4

composer up

Run syntax analyzer

composer phpstan

Generate doc

composer doc

Regenerate autoloader optimized

composer genautoload