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);
 }
