text: """Unit tests for layout functions."""
  import sys
  from nose import SkipTest
  from nose.tools import assert_equal
  import networkx as nx
  
  
  class TestLayout(object):
      numpy = 1 # nosetests attribute, use nosetests -a 'not numpy' to skip test
      @classmethod
      def setupClass(cls):
          global numpy
          try:
              import numpy
          except ImportError:
              raise SkipTest('numpy not available.')
  
      def setUp(self):
          self.Gi = nx.grid_2d_graph(5,5)
          self.Gs = nx.Graph()
          nx.add_path(self.Gs, 'abcdef')
          self.bigG = nx.grid_2d_graph(25,25) #bigger than 500 nodes for sparse
  
      def test_smoke_int(self):
          G = self.Gi
          vpos = nx.random_layout(G)
          vpos = nx.circular_layout(G)
          vpos = nx.spring_layout(G)
          vpos = nx.fruchterman_reingold_layout(G)
          vpos = nx.spectral_layout(G)
          vpos = nx.spectral_layout(self.bigG)
          vpos = nx.shell_layout(G)
  
      def test_smoke_string(self):
          G = self.Gs
          vpos = nx.random_layout(G)
          vpos = nx.circular_layout(G)
          vpos = nx.spring_layout(G)
          vpos = nx.fruchterman_reingold_layout(G)
          vpos = nx.spectral_layout(G)
          vpos = nx.shell_layout(G)
  
      def test_adjacency_interface_numpy(self):
          A = nx.to_numpy_matrix(self.Gs)
          pos = nx.drawing.layout._fruchterman_reingold(A)
          pos = nx.drawing.layout._fruchterman_reingold(A, dim=3)
          assert_equal(pos.shape, (6,3))
  
      def test_adjacency_interface_scipy(self):
          try:
              import scipy
          except ImportError:
              raise SkipTest('scipy not available.')
          A = nx.to_scipy_sparse_matrix(self.Gs, dtype='d')
          pos = nx.drawing.layout._sparse_fruchterman_reingold(A)
          pos = nx.drawing.layout._sparse_spectral(A)
          pos = nx.drawing.layout._sparse_fruchterman_reingold(A, dim=3)
          assert_equal(pos.shape, (6,3))
  
      def test_single_nodes(self):
          G = nx.path_graph(1)
          vpos = nx.shell_layout(G)
          assert(vpos[0].any() == False)
          G = nx.path_graph(3)
          vpos = nx.shell_layout(G, [[0], [1,2]])
          assert(vpos[0].any() == False)
  