# Wednesday, July 23, 2008
« Strongly Typed View Data in NRest | Main | LINQ-to-SQL Convention Mapping Source »

I decided to spend the day creating Spectacle.

Spectacle is a spec-driven/bdd/{buzzword-of-choice} embedded DSL for Nemerle. It creates NUnit compatible test fixtures from very human readable code.

So in the spirit of release early, etc...
Project site: http://www.assembla.com/wiki/show/spectacle
Also: 3 minute screencast:
http://screencast.com/t/4dPdsg35Uj
You'll probably be needing to the pause to read stuff!
Enjoy :) all feedback is welcome.

An example spec:

spec "Account with 100"
    account = Account(100)

    getting account.Balance returns 100

    doing account.Deposit(100) means
        account.Balance == 200

    doing account.Withdraw(50) means
        account.Balance == 50

    doing account.Withdraw(200) throws ArgumentException

Wednesday, July 23, 2008 5:41:23 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [2]  | 
Saturday, August 09, 2008 7:05:56 PM (GMT Daylight Time, UTC+01:00)
Why did you leave specter?
Saturday, August 09, 2008 10:46:58 PM (GMT Daylight Time, UTC+01:00)
Boo didn't support generics very well at the time.
Also Boo is based around statements, not expressions. So Nemerle's macro system is easier for certain transformation.
Comments are closed.