Trong đơn đăng ký của tôi, tôi có hai số tương đương enum
s. Một người sống trong DAL, người còn lại trong lớp hợp đồng dịch vụ. Họ có cùng tên (nhưng trong các không gian tên khác nhau) và phải có cùng thành viên và giá trị.So sánh hai loại enum * tương đương?
Tôi muốn viết một bài kiểm tra đơn vị thực thi điều này. Cho đến nay, tôi đã có những điều sau đây:
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ều này làm việc tốt khi so sánh tên, nhưng làm cách nào để kiểm tra xem các giá trị có khớp không?
(Tôi đang sử dụng NUnit 2.4.6, nhưng tôi con số này áp dụng đối với bất kỳ khuôn khổ kiểm tra đơn vị)
Ah, tôi đã thử Assert.AreEqual (int) xValues [i], (int) yValues [i]) và không có gì trong số đó. –