Здравствуйте!
У меня есть большое количество однотипных проверочных программ (NUnit), в которых сравнивается реальное значение узла в XML-документе (XPath) с ожидаемым.
Есть ли уже готовый класс для C#, при помощи которого можно было бы сделать вот так:
int[2][] expectedIntValuesAndXpaths = {
{ 1, "/path1"},
{ 2, "/path2"},
};
string[2][] expectedStringValuesAndXpaths = {
{ "string01", "/path3"},
{ "string04", "/path4"},
};
XmlDocument xml = getXml();
checkXml(xml, expectedIntValuesAndXpaths, expectedStringValuesAndXpaths);
checkXml устроен примерно так:
public static void checkXml(XmlDocument xmlDocument, int[2][] expectedIntValuesAndXpaths, string[2][] expectedStringValuesAndXpaths)
{
for (int i=0; i < expectedIntValuesAndXpaths.Length; i++)
{
int expected = expectedIntValuesAndXpaths[i][0];
string xpath = expectedIntValuesAndXpaths[i][1];
int actual = getIntValueFromXml(xmlDocument, xpath);
Assert.AreEqual(expected, actual);
}
// Аналогично с expectedStringValuesAndXpaths
}
Кроме int и string, мне ещё надо сравнивать значения DateTime, DateTime?, int?.
Я понимаю, что это можно написать самому, просто не хочется изобретать велосипед, если таковой уже имеется.
Заранее благодарен
Дмитрий