#####
About
#####
This project was created for the
`Kontaktstudium Informatik `_
and provides a way to unit test programs written in the
`Scratch programming language `_
that are submitted by students to defined algorithmic exercises.
.. note::
Algorithmic is important here as this project considers sounds,
images, movement, other sensing functionality and
concurrency (whose order is undefined in Scratch) out-of-scope,
ignores it where possible and rejects whole files where
ignoring is not possible.
Repositories
============
Bast3St is split into multiple repositories that build on each other, the most important ones are:
- `github:marcel-scherzinger/bast3st-scratch `_: direct handling of Scratch semantics and files
- `scratch-test-value `_: implements how Scratch defines computations like arithmetic operations or coercions
- `scratch-test-model `_: parses the Scratch-file-format :code:`sb3`
- `scratch-test-interpreter `_: allows running a parsed Scratch program with given inputs and defined limits
- `github:marcel-scherzinger/bast3st-eval `_: takes JSON data that describes what a program should be tested for and creates a detailed report
- `github:marcel-scherzinger/bast3st-web `_: listens for requests to analyze programs, responds with reports and stores everyting in a Postgres-database
- `github:marcel-scherzinger/bast3st `_: Python library to generate JSON specifiactions by writing scripts with type hinting support and CLI program that allows interacting with a server
What's with the name?
=====================
.. raw:: html