Monthly Archives: November 2008

Heading to N. Carolina for the Raleigh Code Camp

12 Nov 2008
by mjeaton, posted in Uncategorized   |  5 Comments

I’ll be leaving Friday morning around 5am for the long drive to Raleigh.  The plan is to arrive around 5 or 6 and then hang out with friends for the evening.

I’m speaking (I’ll be giving my “Introduction to Castle ActiveRecord” talk) during the second time slot on Saturday and then plan on spending the rest of the time with Alan, James, Nate and OMG, I can’t forget Dave, in the open spaces.

Sunday will be spent driving back home, although I may attend the Shadowcamp in the morning.

Getting started with NUnit’s RowTest

03 Nov 2008
by mjeaton, posted in Uncategorized   |  11 Comments

Maybe I’ve been living under a rock, but I just found out that the latest versions of NUnit support [RowTest]!  Over the weekend, I was about to replace NUnit with mbUnit because I need [RowTest], but thankfully, after a bit of surfing, I found this post by David Hayden (dated December 2007).  David’s post described an add-in for NUnit that has since been rolled into NUnit proper.

Step 1: Download / install NUnit version 2.4.7 or newer.

Step 2: Add a reference to NUnit.framework.dll and NUnit.framework.extensions.dll.

nunit.references

Step 3: Add using NUnit.Framework and using NUnit.Framework.Extensions to your test class.  I include SyntaxHelpers because I like using the .That(condition, Is.) syntax.

nunit.using

Step 4: Decorate your tests with [RowTest], add individual cases and add parameters to your test that match the data from the test cases.

[RowTest]
[Row("foo", false, true)]
[Row("", false, false)]
[Row(null, false, false)]
[Row("___-__-____", false, true)]
[Row("___-__-____", true, false)]
public void testRequiredFieldValidator(string data, bool ignoreChars, bool result)
{
    var rule = new RequiredFieldValidationRule("test field");
    rule.IgnoreMaskCharacters = ignoreChars;
    ValidationResult temp = rule.Validate(data, CultureInfo.CurrentCulture);
    Assert.That(temp.IsValid, Is.EqualTo(result));
}

Step 5: Run :-)

nunit.results.1

nunit.results.2

Notes: I did have to download the a new version of TestDriven.net, but other than that, it was a pretty simple process.

Technorati Tags: ,,