public void contain_value() { var writer = XmlWriter.Create(new MemoryStream()); var accept = new AcceptElement(null); Assert.Throws <AtomSpecificationViolationException>(() => accept.WriteXml(writer)); writer.Close(); }
IElement FindElementAt(PointF location, AcceptElement acceptElement) { foreach (var node in graphNodes) { var inputConnector = FindInputConnectorAt(node, location); if (inputConnector != null && acceptElement(inputConnector)) return inputConnector; var outputConnector = FindOutputConnectorAt(node, location); if (outputConnector != null && acceptElement(outputConnector)) return outputConnector; if (node.Bounds.Contains(location)) { var item = FindNodeItemAt(node, location); if (item != null && acceptElement(item)) return item; if (acceptElement(node)) return node; else return null; } } var skipConnections = new HashSet<NodeConnection>(); var foundConnections = new List<NodeConnection>(); foreach (var node in graphNodes) { foreach (var connection in node.connections) { if (skipConnections.Add(connection)) // if we can add it, we haven't checked it yet { if (connection.bounds.Contains(location)) foundConnections.Insert(0, connection); } } } foreach (var connection in foundConnections) { if (connection.textBounds.Contains(location) && acceptElement(connection)) return connection; } foreach (var connection in foundConnections) { using (var region = GraphRenderer.GetConnectionRegion(connection)) { if (region.IsVisible(location) && acceptElement(connection)) return connection; } } return null; }