private static void verifyTracks( final SimpleWeightedGraph< Spot, DefaultWeightedEdge > graph, final List< List< Spot >> groups, final int nFrames )
{
assertEquals( "The tracking result graph has the wrong number of vertices, ", 2 * nFrames, graph.vertexSet().size() );
final ConnectivityInspector< Spot, DefaultWeightedEdge > inspector = new ConnectivityInspector< >( graph );
final int nTracks = inspector.connectedSets().size();
assertEquals( "Did not get the right number of tracks, ", 2, nTracks );
for ( final List< Spot > group : groups )
{
final Set< Spot > track1 = inspector.connectedSetOf( group.get( 0 ) );
for ( final Spot spot : group )
{
final boolean removed = track1.remove( spot );
assertTrue( "Failed to find spot " + spot + " in track.", removed );
}
assertEquals( "Track has some unexpected spots", 0, track1.size() );
}
}
}