GraphMap: include self loops in incoming edges (tests)
diff --git a/tests/graphmap.rs b/tests/graphmap.rs
index ff521f9..02362ef 100644
--- a/tests/graphmap.rs
+++ b/tests/graphmap.rs
@@ -300,14 +300,39 @@
     }
 }
 
-
 #[test]
 fn neighbors_incoming_includes_self_loops() {
-    // From issue #281
     let mut graph = DiGraphMap::new();
 
     let node = graph.add_node(());
     graph.add_edge(node, node, ());
 
-    assert_eq!(graph.neighbors_directed(node, Incoming).next(), Some(node));
+    let mut neighbors = graph.neighbors_directed(node, Incoming);
+    assert_eq!(neighbors.next(), Some(node));
+    assert_eq!(neighbors.next(), None);
+}
+
+#[test]
+fn undirected_neighbors_includes_self_loops() {
+    let mut graph = UnGraphMap::new();
+
+    let node = graph.add_node(());
+    graph.add_edge(node, node, ());
+
+    let mut neighbors = graph.neighbors(node);
+    assert_eq!(neighbors.next(), Some(node));
+    assert_eq!(neighbors.next(), None);
+}
+
+#[test]
+fn self_loops_can_be_removed() {
+    let mut graph = DiGraphMap::new();
+
+    let node = graph.add_node(());
+    graph.add_edge(node, node, ());
+
+    graph.remove_edge(node, node);
+
+    assert_eq!(graph.neighbors_directed(node, Outgoing).next(), None);
+    assert_eq!(graph.neighbors_directed(node, Incoming).next(), None);
 }