TDD Go Logo
This project is an idea for a TDD exercise in using Go. It is pretty bare. You need to implement the real code!
Idea:
Create a basic Logo interpreter in Go lang. It can just be a small subset of the language like:
forward <pixels>
right <deg>
left <deg>
penup
pendown
See ACSLogo For Mac OS X as a real Logo implementation and to compare your output. ACSLogo's help menu is a handy reference for Logo commands and usage.
Sample usage:
./tdd_go_logo <my_logo_file>
It will output the results to a PNG file.
To keep things simple, its not interactive and just outputs to a file.
The draw2d package can be used as an library to draw to an image.
See Samples for example code using the draw2d
package.
Setup:
-
Install Go lang and set your GOPATH environment variable
-
Install the pre-requisite library freetype-go
:
go get code.google.com/p/freetype-go/freetype
-
Install the draw2d
package:
go get code.google.com/p/draw2d/draw2d
-
Run the example starting app:
go build
./tdd_go_logo draw_square.txt
-
Check the resulting image:
open Logo-output.png
-
Start TDDing your tests for the real implementation!
You can use the built-in testing
package or something like goconvey.
Extensions:
- Display results in a window rather than a file
- Interactive use
- Support more Logo commands