Unit tests for the SquishIt framework
Here is how I've written most of my NSpec tests, I usually start a context out with an act.  This dry's up the specification.  If I find myself doing too many "acts", I end up breaking it up into separate specifications.

class describe_JavaScriptBundle : nspec
{
    JavaScriptBundle bundle;

    void AddTest1JS()
    {
        bundle.Add("test.js");
    }

    void before_each()
    {
        bundle = Bundle.JavaScript();
    }

    void adding_a_bundle()
    {
        context["no files added"] = () =&gt;
        {
            it["GroupBundle contains default key"] = () =&gt;
                bundle.GroupBundles.ContainsKey("default").is_true();

            it["has no Assets"] () =&gt; 
                bundle.GroupBundles["default"].Assets.Count.Is(0);
        };

        context["adding one file"] = () =&gt;
        {
            act = () =&gt; AddTest1JS();

            it["contains the file"] = () =&gt; 
                bundle.GroupBundles["default"].Assets.Count.Is(1);

            context["adding the same file again"] = () =&gt;
            {
                act = () =&gt; AddTest1JS();

                it["should still only contain one file"] = () =&gt; 
                    bundle.GroupBundles["default"].Assets.Count.Is(1);
            };
        };
    }
}