diff --git a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
index 4b229d8..5ff93671 100644
--- a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
@@ -16,6 +16,7 @@
 package org.onlab.onos.net.topology;
 
 import com.google.common.collect.ImmutableSet;
+
 import org.junit.Test;
 import org.onlab.onos.net.DefaultDevice;
 import org.onlab.onos.net.Device;
@@ -47,9 +48,13 @@
         assertEquals("incorrect edge count", 2, desc.edges().size());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void missingVertex() {
-        new DefaultGraphDescription(4321L, ImmutableSet.of(DEV1, DEV3),
-                                    ImmutableSet.of(L1, L2));
+        GraphDescription desc = new DefaultGraphDescription(4321L,
+                                                            ImmutableSet.of(DEV1, DEV3),
+                                                            ImmutableSet.of(L1, L2));
+        assertEquals("incorrect time", 4321L, desc.timestamp());
+        assertEquals("incorrect vertex count", 2, desc.vertexes().size());
+        assertEquals("incorrect edge count", 0, desc.edges().size());
     }
 }
diff --git a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
index bf34e1c..9984315 100644
--- a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
@@ -48,7 +48,9 @@
 
     static final ProviderId PID = new ProviderId("foo", "bar");
 
+    /** D1:P1 -> D2:P1. */
     static final Link L1 = new DefaultLink(PID, CP1, CP2, Link.Type.INDIRECT);
+    /** D2:P1 -> D1:P2. */
     static final Link L2 = new DefaultLink(PID, CP3, CP4, Link.Type.INDIRECT);
 
     @Test
