noober
noober

Reputation: 4938

Implicitly typed array of triplets

I have a unit test method:

private bool TestCompatibility(string type1, string type2, bool shouldBeCompatible)
{
}

As it "knows" which types are (designed) compatible, it makes a call to the unit that is being tested and looks for errors. Errors should appear for incompatible types only, so the method tests, is units type-checking code right-implemented or not.

The question: how have I write the triplets collection?

I want something like:

var ar = { { "Num", "Num", true }, { "Num", "Datetime", false } };
foreach (var triplet in ar)
{
    // ???
}

with implicit typing.

P.S. I know that I can use attributes along with NUnit. Nevertheless, I want to see, how it can be written without libraries.

Regards,

Upvotes: 0

Views: 506

Answers (1)

Fredrik Mörk
Fredrik Mörk

Reputation: 158309

I don't know if this is what you are looking for, but you could make use of anonymous types:

var ar = new[] { 
    new { Type1 = "Num", Type2 = "Num", Compatible = true }, 
    new { Type1 = "Num", Type2 = "Datetime", Compatible = false } 
};
foreach (var triplet in ar)
{
    TestCompatibility(triplet.Type1, triplet.Type2, triplet.Compatible);
}

Upvotes: 3

Related Questions