Factorio Blueprint: Unit Tests Module
I've desigined a number of compact processors from Compact Circuits (https://mods.factorio.com/mod/compaktcircuit) mod to test other Compact Circuits.Video Preview
https://youtu.be/TCxIghf4Z_0How it Works
It uses 3 separate modules:- Test Runner module to control the test run
- Test Assertions module to perform individual checks
- Test Report module to aggregate the results
- Compact Circuits: https://mods.factorio.com/mod/compaktcircuit
- Text Plates: https://mods.factorio.com/mod/textplates
- Industrial Display Plates: https://mods.factorio.com/mod/IndustrialDisplayPlates
- Some mods for signals:
+ AAI Signals
+ Santa's Nixie Tube Display
+ LogisticTrain Network
+ Speaker Signals Expansion Reloaded
+ Dectorio
Blueprint
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