Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
а надо ли здесь это присваивание, если оно же делается в `readTests`?