String Calculator TDD Kata in F#

In a recent post I mentioned that I started learning F#.  Over the past few weeks I’ve really started falling in love with the language.  Coincidentally, my team has been incorporating more test-driven development (TDD) into our process and as part of that training Roy Osherov’s TDD Kata 1 was mentioned.  I immediately thought “Hey! Let me try doing that in F# and see how it goes!”  I’ve run through the kata more than a few times now and I’m ready to share my experience with the world.

Due to the nature of katas I thought I’d try something a bit different with this.  Instead of posting all the code incrementally I thought it would be better to present this as a screencast and show the process of working through the kata and better illustrate how the code evolves.

Keep in mind that I’m still new to F# so as you’re watching the video if you see anything that I could/should do better please let me know in the comments.

Thanks and enjoy!



  1. I am familiar with Scala and had been wondering about F# but not gotten around to playing with it. I think this was a brilliant little demo of both TDD, F# and a feature of Nunit that I wasn’t aware of.

    My only suggestion is that the placement of the mouse during some of the video was such that I found myself trying to “look around” it.
    Keep posting!

    1. Thanks for the note. I’m glad you liked the video. If it isn’t apparent, I’ve completely fallen in love with F# over the past few months. I really should look into Scala a bit more but haven’t really gotten around to it.

      As for the mouse pointer, sorry about that; I’ll be sure to pay more attention to it next time.

      Thanks again!

Comments are closed.