<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>tickspec Wiki Rss Feed</title><link>http://tickspec.codeplex.com/</link><description>tickspec Wiki Rss Description</description><item><title>Updated Wiki: Documentation</title><link>https://tickspec.codeplex.com/documentation?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;br /&gt;Behaviour Driven Development (BDD) is an Agile software development approach that focuses on clear communication. It encourages collaboration between developers, QA and business people. Via collaboration key behaviours of a system are &lt;a href="http://specificationbyexample.com/"&gt;specified by example&lt;/a&gt;. These examples provide living documentation to drive product development.&lt;br /&gt;&lt;br /&gt;TickSpec is a lightweight BDD library and framework for .Net, with first class support for C# and F#. Use TickSpec to automate your examples.&lt;br /&gt;&lt;br /&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx"&gt;TickSpec: An F# BDD Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx"&gt;TickSpec: Production Ready&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx"&gt;BDD with ``TickSpec`` talk&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx"&gt;Cucumber style BDD Step Definitions with F#&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx"&gt;Functional Style BDD Steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf"&gt;Cukey F#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx"&gt;TickSpec: One Year On&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/Examples.aspx"&gt;Examples!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx"&gt;What makes a good feature file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx"&gt;What makes a good step definition&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/java-jee/examples-examples-examples"&gt;Examples, Examples, Examples! @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd"&gt;Functional BDD @ CukeUp! in March 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Slides:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/examples-18172032"&gt;Examples @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/tdd-bdd-in-f-at-progressive-f-tutorials-2011"&gt;TDD &amp;amp; BDD @ Progressive F# Tutorials 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/bdd-with-f-at-dddbelfast"&gt;BDD with F# @ DDD Belfast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/functional-bdd-at-cuke-up"&gt;Functional BDD @ Cukeup! in March 2011&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Nuget packages:
&lt;ul&gt;&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec/"&gt;TickSpec stand-alone assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.NUnit/"&gt;TickSpec.NUnit includes NUnit and a working sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.xUnit/"&gt;TickSpec.xUnit includes xUnit and a working sample&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;See also:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://cellz.codeplex.com/"&gt;Cellz an open source Spreadsheet with examples automated with TickSpec&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Mon, 29 Apr 2013 08:37:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130429083733A</guid></item><item><title>Updated Wiki: Documentation</title><link>https://tickspec.codeplex.com/documentation?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;br /&gt;Behaviour Driven Development (BDD) is an Agile software development approach that focuses on clear communication. It encourages collaboration between developers, QA and business people. Via collaboration key behaviours of a system are &lt;a href="http://specificationbyexample.com/"&gt;specified by example&lt;/a&gt;. These examples provide living documentation to drive product development.&lt;br /&gt;&lt;br /&gt;TickSpec is a lightweight BDD library and framework for .Net, with first class support for C# and F#. Use TickSpec to automate your examples.&lt;br /&gt;&lt;br /&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx"&gt;TickSpec: An F# BDD Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx"&gt;TickSpec: Production Ready&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx"&gt;BDD with ``TickSpec`` talk&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx"&gt;Cucumber style BDD Step Definitions with F#&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx"&gt;Functional Style BDD Steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf"&gt;Cukey F#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx"&gt;TickSpec: One Year On&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx"&gt;What makes a good feature file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx"&gt;What makes a good step definition&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/java-jee/examples-examples-examples"&gt;Examples, Examples, Examples! @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd"&gt;Functional BDD @ CukeUp! in March 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Slides:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/examples-18172032"&gt;Examples @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/tdd-bdd-in-f-at-progressive-f-tutorials-2011"&gt;TDD &amp;amp; BDD @ Progressive F# Tutorials 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/bdd-with-f-at-dddbelfast"&gt;BDD with F# @ DDD Belfast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/ptrelford/functional-bdd-at-cuke-up"&gt;Functional BDD @ Cukeup! in March 2011&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Nuget packages:
&lt;ul&gt;&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec/"&gt;TickSpec stand-alone assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.NUnit/"&gt;TickSpec.NUnit includes NUnit and a working sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.xUnit/"&gt;TickSpec.xUnit includes xUnit and a working sample&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;See also:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://cellz.codeplex.com/"&gt;Cellz an open source Spreadsheet with examples automated with TickSpec&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 06 Apr 2013 21:30:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130406093025P</guid></item><item><title>Updated Wiki: Documentation</title><link>https://tickspec.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;br /&gt;Behaviour Driven Development (BDD) is an Agile software development approach that focuses on clear communication. It encourages collaboration between developers, QA and business people. Via collaboration key behaviours of a system are specified by example. These examples provide concise documentation to drive product development.&lt;br /&gt;&lt;br /&gt;TickSpec is a lightweight BDD library and framework for .Net, with first class support for C# and F#. Use TickSpec to automate your examples.&lt;br /&gt;&lt;br /&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx"&gt;TickSpec: An F# BDD Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx"&gt;TickSpec: Production Ready&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx"&gt;BDD with ``TickSpec`` talk&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx"&gt;Cucumber style BDD Step Definitions with F#&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx"&gt;Functional Style BDD Steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf"&gt;Cukey F#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx"&gt;TickSpec: One Year On&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx"&gt;What makes a good feature file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx"&gt;What makes a good step definition&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/java-jee/examples-examples-examples"&gt;Examples, Examples, Examples! @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd"&gt;Functional BDD @ CukeUp! in March 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Nuget packages:
&lt;ul&gt;&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec/"&gt;TickSpec stand-alone assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.NUnit/"&gt;TickSpec.NUnit includes NUnit and a working sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nuget.org/packages/TickSpec.xUnit/"&gt;TickSpec.xUnit includes xUnit and a working sample&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;See also:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://cellz.codeplex.com/"&gt;Cellz an open source Spreadsheet with examples automated with TickSpec&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 06 Apr 2013 19:16:13 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130406071613P</guid></item><item><title>Updated Wiki: Documentation</title><link>https://tickspec.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;br /&gt;Behaviour Driven Development (BDD) is an Agile software development approach that focuses on clear communication. It encourages collaboration between developers, QA and business people. Via collaboration key behaviours of a system are specified by example. These examples provide concise documentation to drive product development.&lt;br /&gt;&lt;br /&gt;TickSpec is a lightweight BDD library and framework for .Net, with first class support for C# and F#. Use TickSpec to automate your examples.&lt;br /&gt;&lt;br /&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx"&gt;TickSpec: An F# BDD Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx"&gt;TickSpec: Production Ready&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx"&gt;BDD with ``TickSpec`` talk&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx"&gt;Cucumber style BDD Step Definitions with F#&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx"&gt;Functional Style BDD Steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf"&gt;Cukey F#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx"&gt;TickSpec: One Year On&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx"&gt;What makes a good feature file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx"&gt;What makes a good step definition&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/java-jee/examples-examples-examples"&gt;Examples, Examples, Examples! @ CukeUp! in April 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd"&gt;Functional BDD @ CukeUp! in March 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;See also:
&lt;ul&gt;&lt;li&gt;&lt;a href="https://tickspec.codeplex.com/wikipage?title=https%3a%2f%2fcellz.codeplex.com%2f&amp;referringTitle=Documentation"&gt;Cellz an open source Spreadsheet with examples automated with TickSpec&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 06 Apr 2013 19:04:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130406070425P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=20</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installation&lt;/b&gt;&lt;br /&gt;Simply reference TickSpec via &lt;a href="http://nuget.org/packages/TickSpec"&gt;Nuget&lt;/a&gt;, download the assembly or build the project from source.&lt;br /&gt;TickSpec works in Visual Studio 2008, 2010 &amp;amp; 2012 and supports both .Net and Silverlight projects.&lt;br /&gt;&lt;br /&gt;&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UuTL3nj9fIE"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/UuTL3nj9fIE" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=UuTL3nj9fIE" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development"&gt;Behavior Driven Development Article&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification (Plain text)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 25 Nov 2012 16:11:02 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20121125041102P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=19</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installation&lt;/b&gt;&lt;br /&gt;Reference TickSpec via &lt;a href="http://nuget.org/packages/TickSpec"&gt;Nuget&lt;/a&gt;, download the assembly or build the project from source.&lt;br /&gt;TickSpec works in Visual Studio 2008, 2010 &amp;amp; 2012 and supports both .Net and Silverlight projects.&lt;br /&gt;&lt;br /&gt;&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UuTL3nj9fIE"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/UuTL3nj9fIE" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=UuTL3nj9fIE" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development"&gt;Behavior Driven Development Article&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification (Plain text)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 25 Nov 2012 16:05:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20121125040552P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=18</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;TickSpec works in Visual Studio 2008, 2010 &amp;amp; 2012 and supports both .Net and Silverlight projects.&lt;br /&gt;&lt;br /&gt;&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UuTL3nj9fIE"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/UuTL3nj9fIE" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=UuTL3nj9fIE" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development"&gt;Behavior Driven Development Article&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification (Plain text)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Fri, 27 Jul 2012 06:46:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120727064656A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://tickspec.codeplex.com/documentation?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;br /&gt;Behaviour Driven Development (BDD) is an Agile software development approach that focuses on clear communication. It encourages collaboration between developers, QA and business people. Via collaboration key behaviours of a system are specified by example. These examples provide concise documentation to drive product development.&lt;br /&gt;&lt;br /&gt;TickSpec is a lightweight BDD library and framework for .Net, with first class support for C# and F#. Use TickSpec to automate your examples.&lt;br /&gt;&lt;br /&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx" class="externalLink"&gt;TickSpec: An F# BDD Framework&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx" class="externalLink"&gt;TickSpec: Production Ready&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx" class="externalLink"&gt;BDD with ``TickSpec`` talk&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx" class="externalLink"&gt;Cucumber style BDD Step Definitions with F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx" class="externalLink"&gt;Functional Style BDD Steps&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf" class="externalLink"&gt;Cukey F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx" class="externalLink"&gt;TickSpec: One Year On&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx" class="externalLink"&gt;What makes a good feature file&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx" class="externalLink"&gt;What makes a good step definition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/" class="externalLink"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd" class="externalLink"&gt;Functional BDD @ CukeUp! in March 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp" class="externalLink"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Thu, 22 Sep 2011 11:07:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110922110723A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://tickspec.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx" class="externalLink"&gt;TickSpec: An F# BDD Framework&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx" class="externalLink"&gt;TickSpec: Production Ready&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx" class="externalLink"&gt;BDD with ``TickSpec`` talk&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx" class="externalLink"&gt;Cucumber style BDD Step Definitions with F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx" class="externalLink"&gt;Functional Style BDD Steps&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf" class="externalLink"&gt;Cukey F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx" class="externalLink"&gt;TickSpec: One Year On&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Feature.aspx" class="externalLink"&gt;What makes a good feature file&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trelford.com/blog/post/Step.aspx" class="externalLink"&gt;What makes a good step definition&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/" class="externalLink"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd" class="externalLink"&gt;Functional BDD @ CukeUp! in March 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp" class="externalLink"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Wed, 07 Sep 2011 13:29:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110907012952P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://tickspec.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;Articles:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec.aspx" class="externalLink"&gt;TickSpec: An F# BDD Framework&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpecProduction.aspx" class="externalLink"&gt;TickSpec: Production Ready&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/BDDWithTickSpec.aspx" class="externalLink"&gt;BDD with ``TickSpec`` talk&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/CukeyFSharp.aspx" class="externalLink"&gt;Cucumber style BDD Step Definitions with F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/FunkyBDD.aspx" class="externalLink"&gt;Functional Style BDD Steps&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://opensource-central.com/documents/Open_Source_Journal_2011_Issue_2_(3rdEdition).pdf" class="externalLink"&gt;Cukey F#&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trelford.com/blog/post/TickSpec1.aspx" class="externalLink"&gt;TickSpec: One Year On&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Videos:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.viddler.com/explore/panesofglass/videos/23/" class="externalLink"&gt;Automating Acceptance Tests @ Community for F# in June 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/functional-bdd" class="externalLink"&gt;Functional BDD @ CukeUp! in March 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://skillsmatter.com/podcast/scala/tickspec-bdd-for-c-sharp-f-sharp" class="externalLink"&gt;TickSpec – BDD for C# &amp;amp; F# @ Skills Matter in November 2010&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 20 Aug 2011 22:33:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110820103325P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=17</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UuTL3nj9fIE"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/UuTL3nj9fIE" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=UuTL3nj9fIE" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification (Plain text)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 21:54:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905095458P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=16</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification (Plain text)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 20:36:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905083614P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=15</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 07:40:20 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905074020A</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=14</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 07:40:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905074018A</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=13</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 07:40:17 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905074017A</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=12</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; mutable stockItem = { &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = 0 }

&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;When&lt;/span&gt;&amp;gt;] ``he returns the jumper &lt;span style="color:Blue;"&gt;for&lt;/span&gt; a refund`` () =  
    stockItem &amp;lt;- { stockItem &lt;span style="color:Blue;"&gt;with&lt;/span&gt; &lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; + 1 }
      
&lt;span style="color:Blue;"&gt;let&lt;/span&gt; [&amp;lt;&lt;span style="color:Blue;"&gt;Then&lt;/span&gt;&amp;gt;] ``I should have (.*) black jumpers &lt;span style="color:Blue;"&gt;in&lt;/span&gt; stock`` (n:int) =     
    &lt;span style="color:Blue;"&gt;let&lt;/span&gt; passed = (stockItem.&lt;span style="color:Blue;"&gt;Count&lt;/span&gt; = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; StockStepDefinitions
{
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; StockItem _stockItem;

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;a customer buys a black jumper&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenACustomerBuysABlackJumper()
   {
   }

   [Given(&lt;span style="color:#A31515;"&gt;@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; GivenIHaveNBlackJumpersLeftInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      _stockItem = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; StockItem() { Count = n };  
   }

   [When(&lt;span style="color:#A31515;"&gt;@&amp;quot;he returns the jumper for a refund&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(&lt;span style="color:#A31515;"&gt;@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;&lt;/span&gt;)]
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; ThenIShouldHaveNBlackJumpersInStock(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sun, 05 Sep 2010 07:40:12 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100905074012A</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=11</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
let mutable stockItem = { Count = 0 }

let [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
let [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left in stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem with Count = n }
      
let [&amp;lt;When&amp;gt;] ``he returns the jumper for a refund`` () =  
    stockItem &amp;lt;- { stockItem with Count = stockItem.Count + 1 }
      
let [&amp;lt;Then&amp;gt;] ``I should have (.*) black jumpers in stock`` (n:int) =     
    let passed = (stockItem.Count = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
public class StockStepDefinitions
{
   private StockItem _stockItem;

   [Given(@&amp;quot;a customer buys a black jumper&amp;quot;)]
   public void GivenACustomerBuysABlackJumper()
   {
   }

   [Given(@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;)]
   public void GivenIHaveNBlackJumpersLeftInStock(int n)
   {
      _stockItem = new StockItem() { Count = n };  
   }

   [When(@&amp;quot;he returns the jumper for a refund&amp;quot;)]
   public void WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;)]
   public void ThenIShouldHaveNBlackJumpersInStock(int n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 04 Sep 2010 15:12:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100904031221P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=10</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
let mutable stockItem = { Count = 0 }

let [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
let [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left in stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem with Count = n }
      
let [&amp;lt;When&amp;gt;] ``he returns the jumper for a refund`` () =  
    stockItem &amp;lt;- { stockItem with Count = stockItem.Count + 1 }
      
let [&amp;lt;Then&amp;gt;] ``I should have (.*) black jumpers in stock`` (n:int) =     
    let passed = (stockItem.Count = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
public class StockStepDefinitions
{
   private StockItem _stockItem;

   [Given(@&amp;quot;a customer buys a black jumper&amp;quot;)]
   public void GivenACustomerBuysABlackJumper()
   {
   }

   [Given(@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;)]
   public void GivenIHaveNBlackJumpersLeftInStock(int n)
   {
      _stockItem = new StockItem() { Count = n };  
   }

   [When(@&amp;quot;he returns the jumper for a refund&amp;quot;)]
   public void WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;)]
   public void ThenIShouldHaveNBlackJumpersInStock(int n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 04 Sep 2010 15:12:20 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100904031220P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" class="externalLink"&gt;Behavior Driven Development Article&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
let mutable stockItem = { Count = 0 }

let [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
let [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left in stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem with Count = n }
      
let [&amp;lt;When&amp;gt;] ``he returns the jumper for a refund`` () =  
    stockItem &amp;lt;- { stockItem with Count = stockItem.Count + 1 }
      
let [&amp;lt;Then&amp;gt;] ``I should have (.*) black jumpers in stock`` (n:int) =     
    let passed = (stockItem.Count = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
public class StockStepDefinitions
{
   private StockItem _stockItem;

   [Given(@&amp;quot;a customer buys a black jumper&amp;quot;)]
   public void GivenACustomerBuysABlackJumper()
   {
   }

   [Given(@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;)]
   public void GivenIHaveNBlackJumpersLeftInStock(int n)
   {
      _stockItem = new StockItem() { Count = n };  
   }

   [When(@&amp;quot;he returns the jumper for a refund&amp;quot;)]
   public void WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;)]
   public void ThenIShouldHaveNBlackJumpersInStock(int n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Sat, 04 Sep 2010 15:12:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100904031216P</guid></item><item><title>Updated Wiki: Home</title><link>http://tickspec.codeplex.com/wikipage?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A lightweight Behaviour Driven Development &amp;#40;BDD&amp;#41; framework. Describe behaviour in plain text using the Gherkin business language, i.e. given, when, then. Easily execute the behaviour against matching F&amp;#35; tick methods &amp;#40;let &amp;#96;&amp;#96;tick method&amp;#96;&amp;#96; &amp;#40;&amp;#41; &amp;#61; true&amp;#41; or attributed C&amp;#35; or F&amp;#35; methods.&lt;br /&gt;&lt;br /&gt;Example taken from &lt;a href="http://tickspec.codeplex.com/wikipage?title=http%3a%2f%2fen.wikipedia.org%2fwiki%2fBehavior_Driven_Development&amp;referringTitle=Home"&gt;Behavior Driven Development Article&lt;/a&gt; on Wikipedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feature specification&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Feature: Refunded or replaced items should be returned to stock

Scenario 1: Refunded items should be returned to stock
	Given a customer buys a black jumper
	And I have 3 black jumpers left in stock 
	When he returns the jumper for a refund 
	Then I should have 4 black jumpers in stock 
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (F#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
let mutable stockItem = { Count = 0 }

let [&amp;lt;Given&amp;gt;] ``a customer buys a black jumper`` () = ()
      
let [&amp;lt;Given&amp;gt;] ``I have (.*) black jumpers left in stock`` (n:int) =  
    stockItem &amp;lt;- { stockItem with Count = n }
      
let [&amp;lt;When&amp;gt;] ``he returns the jumper for a refund`` () =  
    stockItem &amp;lt;- { stockItem with Count = stockItem.Count + 1 }
      
let [&amp;lt;Then&amp;gt;] ``I should have (.*) black jumpers in stock`` (n:int) =     
    let passed = (stockItem.Count = n)
    Debug.Assert(passed)
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Step definitions (C#)&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
public class StockStepDefinitions
{
   private StockItem _stockItem;

   [Given(@&amp;quot;a customer buys a black jumper&amp;quot;)]
   public void GivenACustomerBuysABlackJumper()
   {
   }

   [Given(@&amp;quot;I have (.*) black jumpers left in stock&amp;quot;)]
   public void GivenIHaveNBlackJumpersLeftInStock(int n)
   {
      _stockItem = new StockItem() { Count = n };  
   }

   [When(@&amp;quot;he returns the jumper for a refund&amp;quot;)]
   public void WhenHeReturnsTheJumperForARefund()
   {
      _stockItem.Count += 1;
   }

   [Then(@&amp;quot;I should have (.*) black jumpers in stock&amp;quot;)]
   public void ThenIShouldHaveNBlackJumpersInStock(int n)
   {
      Debug.Assert(_stockItem.Count == n);
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ptrelford</author><pubDate>Wed, 01 Sep 2010 09:41:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100901094109A</guid></item></channel></rss>