Starting point for running a Go lang dojo using TDD to implement a basic Logo interpreter
This project is an idea for a TDD exercise in using Go. It is pretty bare. You need to implement the real code!
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.
./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.
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.