Thanx for the fast reply!
Concerning the combination of data sources with suites, I was
wondering if it was possible to call a method and pass a parameter
like the following:

[DynamicTestFactory]
[Factory("CreatePersons")]
public IEnumerable<Test> Suite(Person p)
{
    yield return new TestCase("Test1", Test1(p));

}

public void Test1(Person p)
{
   // do something with p
}

Max


On Jan 20, 4:46 pm, Jeff Brown <[email protected]> wrote:
> It looks like you're trying to produce a list of Person objects to pass to
> the tests.
> Try this:
>
> public class TestFixture
> {
>    public IEnumerable<Person> CreatePersons()
>    {
>        yield return new Person("Mike");
>        yield return new Person("Jim");
>    }
>
>    [Test]
>    [Factory("CreatePersons")]
>    public void Test1(Person p)
>    {
>         Assert.AreEqual("Max", p.Name);
>    }
>
>    [Test]
>    [Factory("CreatePersons")]
>    public void Test2(Person p)
>    {
>         Assert.AreEqual("Max", p.Name);
>    }
>
> }
>
> Here the output will look like:
>
> - Test1({Mike})
> - Test1({Jim})
> - Test2({Mike})
> - Test2({Jim})
>
> It should also be possible to combine data sources with suites like this.  I
> haven't tried it yet...
>
> [DynamicTestFactory]
> [Factory("CreatePersons")]
> public IEnumerable<Test> Suite(Person p)
> {
>     yield return new TestCase("Test1", () => {
>        // do something with p.
>     });
>
> }
>
> Jeff.
>
>
>
> On Tue, Jan 20, 2009 at 12:52 PM, max2256 <[email protected]> wrote:
>
> > Hi,
>
> > I'm new to MbUnit. I would like to know if there is a way of doing the
> > following with MbUnit V3 or any MbUnit version. (mixture of TestSuite
> > and DataDriven testing) :
>
> > [TestFixture]
> > public class TestFixture
> >  {
> >     [Row(typeof(Person), new Person("Max"))]
> >     [Row(typeof(Person), new Person("Mike"))]
> >     [Row(typeof(Person), new Person("Frank"))]
> >     [TestSuite]
> >     public TestSuite GetSuite(Person p)
> >     {
> >          // add tests to TestSuite
> >     }
>
> >    [Test]
> >    public void Test1(Person p)
> >    {
> >         Assert.AreEqual("Max", p.Name);
> >    }
>
> >    [Test]
> >    public void Test2(Person p)
> >    {
> >       Assert.AreEqual("Frank", p.Name);
> >    }
> > }
>
> > The report generated would look like this:
>
> > -Person("Max")
> >      -- Test1
> >      -- Test2
> > -Person("Mike")
> >      -- Test1
> >      -- Test2
> > -Person("Frank")
> >      -- Test1
> >      -- Test2
>
> > Any suggestions?
>
> > Thanx!- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MbUnit.User" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/MbUnitUser?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to