Attribute arguments must be compile-time constants or array-creation
expressions.  This is a limitation of the .Net CIL, not something MbUnit can
fix.

Your best bet here is probably to encode the property names as strings and
use reflection.

That said, I recommend using separate test methods in this case since it
will be clearer to the reader what is going on (even if there is a little
duplication).

[Test]
public void UpdateProperties_WhenDataContainsPrefix04_SetsTheIP()
{
    _testClassUnderTest.UpdateProperties(new byte[] { 0x04, 101, 102, 103,
104 });

    Assert.AreEqual("101.102.103.104", _testClassUnderTest.IP);
}

Jeff.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Abynthe
Sent: Tuesday, May 05, 2009 4:18 AM
To: MbUnit.User
Subject: MbUnit Testing properties with rowtest


In trying to check that a set of properties are correctly updated
appropriately I came across a difficulty in attempting to access properties
during a row test.

Ideally, I want to do something like this:

[Test]
[Row( new byte[] { 0x04, 101, 102, 103, 104 } , new
Expression<Func<ClassUnderTest, string>>[]{c => c.IP}, "101.102.103.104")]
public void ParameterisedPropertyUpdateTest(byte[] data,
Expression<Func<ClassUnderTest, string>>[] propertyAccessor, string
expectedValue)
        {
            _testClassUnderTest.UpdateProperties(data);
            Assert.AreEqual(expectedValue, propertyAccessor[0].Compile
().Invoke(_testClassUnderTest));
        }

Is there any way to access properties in this (or any other) manner during
rowtest?


--~--~---------~--~----~------------~-------~--~----~
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