This application was for the use of participants in the Clean Code Cup 2013 contest. The goal of the contest was the implementation of the intelligence of a Robot to make it able to find a Cat in a dark room, and to bring it to the point where Robot had begun its journey with the minimum number of steps. Each participant had to implement a DLL that provides a fixed interface (a signature of exported functions). These DLLs were loaded by the testing application at run time. Both native DLLs and .NET assemblies were supported. The application called DLL functions and showed animations of the Robot’s movements.
The maps were loaded from plain text files where a wall, Robot and Cat were denoted by specific characters. The application supported some basic operation on a map (flip, rotate, swap Robot and Cat) to generate 16 different modifications of a given map. During the test, the application verified whether the Robot broke a wall, exceeded its movements limit, failed with exception and so on. Some checks for cheaty Robots were provided as well, like a check for attempts of edition of the map by a function from a participant’s DLL.
Two automated testing modes were provided:
- Run Robot on all possible modifications of a given map (16-fold test).
- Run the 16-fold test for all maps of a given directory.
The results of automated tests were saved to text files and compared between participants of the contest.
Languages: C# (application and test robots), C++ (test robots)
A screenshot of the application
A sample of autogenerated file with a 16-fold test summary
______________________________
“In the last few millennia we have made the most astonishing and unexpected discoveries about the Cosmos and our place within it, explorations that are exhilarating to consider. They remind us that humans have evolved to wonder, that understanding is a joy, that knowledge is prerequisite to survival.”