The TADS Testers’ Toolkit (TTT) is a TADS 3 library containing a collection of authors’ toys with pretentions of being useful tools. How useful? The only way to find out is to put the toolkit in the hands of some TADS 3 authors for beta-testing (beta-authoring?) and see how well it works for them. With the toolkit an author can:
-
Type a simple command (‘>list’) right in the interpreter to generate a neatly formatted list of supported commands, ala:
get (dobj)
get off of (dobj)
eat (dobj)
throw (dobj) at (iobj)
.
.
.
The lists are dynamically generated from the actual predicate objects, meaning that they will automatically include any custom commands defined by a project or its included libraries. -
Generate similar lists of Things, Topics, Directions, etc.
-
Type another simple command (‘>test’) to automatically try all commands on a single Thing (without having to type out each command separately), or a single command on all Things. Just like with the lists above, custom commands are automatically included in the test.
-
Write flexible test scripts. For example, you could record:
*>ask (dobj) about chocolate
*>tell (dobj) about chocolate
and then type:replay “myTalkScript.cmd” with Charlie
replay “myTalkScript.cmd” with Grandpa
to do basic conversation testing on each of your Actors in turn - without ever having to leave the interpreter window. -
Execute a totally random, but syntactically valid, command. Execute a dozen random commands and laugh at how crazy some can be!
-
And more!
The purpose of this toolkit is to make interpreter-assisted testing easier and more effective for TADS authors. (Well, that and give me an excuse to write TADS 3 code However, there is also the possibility that it will backfire. Authors might find themselves grinding their teeth and pulling their hair, trying to solve a bug in their code that isn’t really there - because it in the testing tools. I need the help of some brave and generous TADS authors to beta-test the toolkit and find out whether it’s more of a help or a hindrance.
If you’re interested, please contact me at ttt.author@gmail.com.