Commit Graph

36 Commits

Author SHA1 Message Date
Bruno BELANYI 1222f64d82 kata: add sample Makefile to launch tests 2020-11-09 11:49:25 +01:00
Bruno BELANYI 0a4966ae95 calculator: add executable calculator
It can both evaluate and print the given expression.

It uses `click` to parse its CLI options.
2020-11-09 11:49:25 +01:00
Bruno BELANYI 2f240fa78c calculator: update Pipenv files 2020-11-09 11:49:25 +01:00
Bruno BELANYI f77f7b9ed7 calculator: add printer visitor 2020-11-09 11:49:25 +01:00
Bruno BELANYI 2ac7ce0520 calculator: add infix parser 2019-11-30 18:08:15 +01:00
Bruno BELANYI 425733deca calculator: add prefix parser 2019-11-30 17:37:55 +01:00
Bruno BELANYI 220e70ab33 calculator: add postfix parser 2019-11-30 17:32:57 +01:00
Bruno BELANYI 2490e1a5bd calculator: use commonly defined operations 2019-11-30 17:29:09 +01:00
Bruno BELANYI f103adddac calculator: add an evaluation visitor
The `calculator.eval` module defines an `Evaluator` visitor for the AST
hierarchy.
2019-11-30 15:21:42 +01:00
Bruno BELANYI 5ea82de840 calculator: add initial AST implementation
The AST's class hierarchy is defined inside the `calculator.ast` module.

An abstract visitor is defined inside the `calculator.ast.visit`
package.
2019-11-30 15:21:04 +01:00
Bruno BELANYI e7c70bd6a5 calculator: add Pipenv files 2019-11-30 15:15:47 +01:00
Bruno BELANYI f9a9ffaaf5 fizzbuzz: always order fizzbuzzer output words 2019-11-30 12:08:18 +01:00
Bruno BELANYI a48f7877d9 fizzbuzz: add fizzbuzzer custom function creator 2019-11-30 12:04:57 +01:00
Bruno BELANYI 6159d12cff fizzbuzz: add working fizzbuzz implementation 2019-11-30 11:53:54 +01:00
Bruno BELANYI bbba7507c6 fizzbuzz: add initial executable 2019-11-30 11:36:58 +01:00
Bruno BELANYI 927558fd7a fizzbuzz: add Pipenv files 2019-11-30 11:36:33 +01:00
Bruno BELANYI 4487269ab6 rover: add exception on unknown Commander command 2019-11-28 16:21:40 +01:00
Bruno BELANYI b4ecee8c44 rover: add pytest-mypy to Pipfile 2019-11-16 04:28:08 +01:00
Bruno BELANYI 41adeb39d2 rover: add return type annotation to methods 2019-11-16 04:27:41 +01:00
Bruno BELANYI 7352207636 rover: add rover starting on obstacle validation 2019-11-16 04:26:24 +01:00
Bruno BELANYI 39d1fcd5ac rover: add non-oversize position validation 2019-11-16 04:25:28 +01:00
Bruno BELANYI 1fbf7ece7c rover: add non-negative coordinate validation 2019-11-16 04:24:02 +01:00
Bruno BELANYI ce0241b3f4 rover: add obstacle detection to Commander 2019-11-16 03:19:50 +01:00
Bruno BELANYI 556acf8095 rover: add parse_exectute method to Commander 2019-11-16 03:02:53 +01:00
Bruno BELANYI 81dca25a4f rover: add Commander class 2019-11-15 21:32:55 +01:00
Bruno BELANYI 4a79fd4c7f rover: add turn methods to Rover class 2019-11-15 21:29:37 +01:00
Bruno BELANYI af803b642a rover: add backward method 2019-11-15 21:20:42 +01:00
Bruno BELANYI c96f44332c rover: wrap when going over planet size 2019-11-15 21:14:42 +01:00
Bruno BELANYI 24b3f63d3c rover: wrap when going negative 2019-11-15 21:12:51 +01:00
Bruno BELANYI d9bf239c39 rover: use direction when going forward 2019-11-15 21:12:07 +01:00
Bruno BELANYI add6940dce rover: use Pydantic for Vector and Rover classes
Pydantic is similar to Dataclasses, but enables run-time type-checking.
2019-11-15 21:04:16 +01:00
Bruno BELANYI 0f1b861eee rover: add direction field to Rover 2019-11-15 20:43:59 +01:00
Bruno BELANYI b6d74b24eb rover: define default values for Rover fields 2019-11-15 20:35:19 +01:00
Bruno BELANYI b90f92e557 rover: use real Vector class 2019-11-15 20:34:34 +01:00
Bruno BELANYI ca35c2bf94 rover: initial class definition 2019-11-15 20:29:06 +01:00
Bruno BELANYI aec0c6c3fc rover: add Pipenv files 2019-11-15 20:22:29 +01:00