private void ParseCaseNode(XmlNode caseNode, double tolerance) { if (caseNode != null && m_objFactory != null) { var testInfo = new XmlTestInfo(true); XmlNode desc = caseNode["desc"]; if (desc != null) { testInfo.SetValue("desc", desc.InnerText); } var a = (XmlElement)caseNode["a"]; if (a != null) { if (a.HasAttribute("file")) { } else { testInfo.SetValue("a", a.InnerText); } } var b = (XmlElement)caseNode["b"]; if (b != null) { if (b.HasAttribute("file")) { } else { testInfo.SetValue("b", b.InnerText); } } // Now, handle the "test" nodes var elemList = caseNode.SelectNodes("test"); if (elemList == null) { return; } if (elemList.Count <= 0) { return; } else if (elemList.Count == 1) { var testElement = ((XmlElement)elemList[0])["op"]; testInfo.SetValue("result", testElement.InnerText); if (testElement.HasAttribute("name")) { testInfo.SetValue("name", testElement.GetAttribute("name")); } if (testElement.HasAttribute("arg1")) { testInfo.SetValue("arg1", testElement.GetAttribute("arg1").ToLower()); } if (testElement.HasAttribute("arg2")) { testInfo.SetValue("arg2", testElement.GetAttribute("arg2").ToLower()); } if (testElement.HasAttribute("arg3")) { testInfo.SetValue("arg3", testElement.GetAttribute("arg3")); } var xmlTest = m_objFactory.Create(testInfo, tolerance); if (xmlTest != null && m_listCurTests != null) { m_listCurTests.Add(xmlTest); } } else { string baseDesc = testInfo.GetValue("desc"); for (int i = 0; i < elemList.Count; i++) { string strDescNew = baseDesc + " - " + (i + 1).ToString(); testInfo.SetValue("desc", strDescNew); var testElement = ((XmlElement)elemList[i])["op"]; testInfo.SetValue("result", testElement.InnerText); if (testElement.HasAttribute("name")) { testInfo.SetValue("name", testElement.GetAttribute("name")); } if (testElement.HasAttribute("arg1")) { testInfo.SetValue("arg1", testElement.GetAttribute("arg1")); } if (testElement.HasAttribute("arg2")) { testInfo.SetValue("arg2", testElement.GetAttribute("arg2")); } if (testElement.HasAttribute("arg3")) { testInfo.SetValue("arg3", testElement.GetAttribute("arg3")); } var xmlTest = m_objFactory.Create(testInfo, tolerance); if (xmlTest != null && m_listCurTests != null) { m_listCurTests.Add(xmlTest); } } } testInfo.Clear(); } }