code: def test_single_nodes(self):
      G = nx.path_graph(1)
      vpos = nx.shell_layout(G)
      assert not vpos[0].any()
      G = nx.path_graph(4)
      vpos = nx.shell_layout(G, [[0], [1, 2], [3]])
      assert not vpos[0].any()
      assert vpos[3].any()  # ensure node 3 not at origin (#3188)
      assert np.linalg.norm(vpos[3]) <= 1  # ensure node 3 fits (#3753)
      vpos = nx.shell_layout(G, [[0], [1, 2], [3]], rotate=0)
      assert np.linalg.norm(vpos[3]) <= 1
  
imports: import pytest
  import networkx
label_desc: Use image node_id 15 for calling the TestLayout obj's underlying member method code with example usage: obj.test_single_nodes() without return types