protected bool ParseResult(string result, XmlTest xmlTestItem) { switch (xmlTestItem.TestType) { // Here we expect double case XmlTestType.Area: case XmlTestType.Distance: case XmlTestType.Length: case XmlTestType.MinClearance: { try { xmlTestItem.Result = double.Parse(result, GetNumberFormatInfo()); return(true); } catch (Exception ex) { XmlTestExceptionManager.Publish(ex); return(false); } } // Here we expect integer case XmlTestType.BoundaryDimension: case XmlTestType.Dimension: case XmlTestType.NumPoints: case XmlTestType.SRID: { try { xmlTestItem.Result = int.Parse(result); return(true); } catch (Exception ex) { XmlTestExceptionManager.Publish(ex); return(false); } } // Here we expect a point case XmlTestType.Boundary: case XmlTestType.Buffer: case XmlTestType.BufferMitredJoin: case XmlTestType.Centroid: case XmlTestType.ConvexHull: case XmlTestType.Densify: case XmlTestType.Difference: case XmlTestType.Envelope: case XmlTestType.InteriorPoint: case XmlTestType.Intersection: case XmlTestType.SymmetricDifference: case XmlTestType.Union: case XmlTestType.MinClearanceLine: { try { xmlTestItem.Result = _objReader.Read(result); return(true); } catch (Exception ex) { XmlTestExceptionManager.Publish(ex); return(false); } } // Here we expect boolean case XmlTestType.Contains: case XmlTestType.Crosses: case XmlTestType.Disjoint: case XmlTestType.Equals: case XmlTestType.Intersects: case XmlTestType.IsEmpty: case XmlTestType.IsSimple: case XmlTestType.IsValid: case XmlTestType.IsWithinDistance: case XmlTestType.Overlaps: case XmlTestType.Relate: case XmlTestType.Touches: case XmlTestType.Within: case XmlTestType.Covers: case XmlTestType.CoveredBy: case XmlTestType.EqualsExact: case XmlTestType.EqualsNorm: case XmlTestType.EqualsTopo: { try { xmlTestItem.Result = bool.Parse(result); return(true); } catch (Exception ex) { XmlTestExceptionManager.Publish(ex); return(false); } } default: string format = string.Format("Test not implemented: {0}", xmlTestItem.TestType); throw new NotImplementedException(format); } }