В моем приложении у меня есть два эквивалентных enum
с. Один живет в DAL, другой в слое контракта на обслуживание. Они имеют одинаковые имена (но находятся в разных пространствах имен) и должны иметь одинаковые члены и значения.
Я хотел бы написать модульный тест, который обеспечивает это. Пока у меня есть следующее:
public static class EnumAssert
{
public static void AreEquivalent(Type x, Type y)
{
// Enum.GetNames and Enum.GetValues return arrays sorted by value.
string[] xNames = Enum.GetNames(x);
string[] yNames = Enum.GetNames(y);
Assert.AreEqual(xNames.Length, yNames.Length);
for (int i = 0; i < xNames.Length; i++)
{
Assert.AreEqual(xNames[i], yNames[i]);
}
// TODO: How to validate that the values match?
}
}
Это прекрасно работает для сравнения имен, но как проверить, что значения также совпадают?
(я использую NUnit 2.4.6, но я полагаю, что это применимо к любой платформе модульного тестирования)