##### 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
Bast3St The project is about Scratch and it starts with S
Bast3St The file extension of Scratch is sb3
BasteSt Bastet is the egyptian god of cats
BasteSt This project is about testing