So far all tests/proofs/properties have been declared in the blackbox.php file. This is fine for examples. But in a real project with hundreds of them this is not manageable.
Since it uses a Generator you can easily split them into multiple files:
useInnmind\BlackBox\{Runner\Assert,Set,Prove,};returnstaticfunction(Prove$prove):\Generator{yield$prove->proof('Some proof')->given(Set::integers()),->test(staticfunction(Assert$assert,int$value){// your code here});};
proofs/file2.php
useInnmind\BlackBox\{Runner\Assert,Set,Prove,};returnstaticfunction(Prove$prove):\Generator{yield$prove->proof('Some proof')->given(Set::strings()),->test(staticfunction(Assert$assert,int$value){// your code here});};
proofs/etc.php
useInnmind\BlackBox\{Runner\Assert,Set,Prove,};returnstaticfunction(Prove$prove):\Generator{yield$prove->test('Some proof',staticfunction(Assert$assert){// your code here},);};
This way you can enforce the order in which the files are loaded. However it becomes tedious to modify blackbox.php each time you add a file in proofs/.