Неявно типизированный массив триплетов - PullRequest
0 голосов
/ 10 декабря 2010

У меня есть метод модульного тестирования:

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

Поскольку он «знает», какие типы (разработаны) совместимы, он вызывает вызываемый модуль и ищет ошибки. Ошибки должны появляться только для несовместимых типов, поэтому метод проверяет, правильно ли реализован код проверки типа модулей.

Вопрос: как мне написать коллекцию триплетов?

Я хочу что-то вроде:

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

с неявной типизацией.

P.S. Я знаю, что могу использовать атрибуты вместе с NUnit. Тем не менее, я хочу увидеть, как это можно написать без библиотек.

С уважением,

1 Ответ

3 голосов
/ 10 декабря 2010

Не знаю, ищите ли вы это, но вы можете использовать анонимные типы:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...