public void SetUp()
        {
            _tags = MockRepository.GenerateStub<ITagGenerator<MyModel>>();
            _generator = new TableGenerator<MyModel>(_tags);

            _data = new MyModel[]
                           {
                               new MyModel {Foo = new FooClass(), Bar = new BarClass(), Woo = "woo", Number = 1, NotUsed = 2},
                               new MyModel {Foo = new FooClass(), Bar = new BarClass(), Woo = "woohoo", Number = 2, NotUsed = 3},
                               new MyModel {Foo = new FooClass(), Bar = new BarClass(), Woo = "woodeedoo", Number = 3, NotUsed = 4}
                           };

            _generator.AddColumnWithDisplayFor(_barExp);
            _generator.AddColumnWithDisplayFor(_fooExp, "this is some foo");
            _generator.AddColumnWithDisplayFor(_wooExp, new LinkTag("a link to nowhere", "http://nowhere"));
            _generator.AddColumnWithDefaultHeaderAndDisplayFor(_numberExp, tr => tr.AddClass("number"));

            _capturedModels = new List<MyModel>();
            Action<object> modelCapture = m =>
                                              {
                                                  _currentModel = m as MyModel;
                                                  _capturedModels.Add(_currentModel);
                                              };
            _capturedExpressions = new List<Expression<Func<MyModel, object>>>();
            _tags.Stub(t => t.SetModel(null)).IgnoreArguments().Do(modelCapture);
            Func<Expression<Func<MyModel, object>>, HtmlTag> df = (e) =>
                                                                      {
                                                                          _capturedExpressions.Add(e);
                                                                          var data = e.Compile().Invoke(_currentModel);
                                                                          var tag = new HtmlTag("span").Text(data.ToString());
                                                                          return tag;
                                                                      };
            Expression<Func<MyModel, object>> exp = null;
            _tags.Stub(t => t.DisplayFor(exp)).IgnoreArguments().Do(df);
        }