私のアプリケーションでは、私は2つの同等のenum
を持っています。 1人はDALに、もう1人はサービス契約層に存在します。彼らは同じ名前を持っています(しかし、異なる名前空間にあります)。同じメンバーと値を持つ必要があります。2つの列挙型*の等価性の比較?
これを実施するユニットテストを作成したいと思います。これまでのところ、私は次のよう持っている:
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?
}
}
これは名前を比較するため正常に動作しますが、どのように私は値が同様に一致していることをチェックしますか?
ああ、私は([I](INT)xValues [i]は、(INT)yValues)Assert.AreEqualを試み、それを全く有していませんでした。 –