code: def testVertexDataFrames(self):
      g = Graph([(0, 1), (0, 2), (0, 3), (1, 2), (2, 4)])
  
      # No vertex names, no attributes
      df = g.get_vertex_dataframe()
      self.assertEqual(df.shape, (5, 0))
      self.assertEqual(list(df.index), [0, 1, 2, 3, 4])
  
      # Vertex names, no attributes
      g.vs["name"] = ["eggs", "spam", "ham", "bacon", "yello"]
      df = g.get_vertex_dataframe()
      self.assertEqual(df.shape, (5, 1))
      self.assertEqual(list(df.index), [0, 1, 2, 3, 4])
      self.assertEqual(list(df["name"]), g.vs["name"])
      self.assertEqual(list(df.columns), ["name"])
  
      # Vertex names and attributes (common case)
      g.vs["weight"] = [0, 5, 1, 4, 42]
      df = g.get_vertex_dataframe()
      self.assertEqual(df.shape, (5, 2))
      self.assertEqual(list(df.index), [0, 1, 2, 3, 4])
      self.assertEqual(list(df["name"]), g.vs["name"])
      self.assertEqual(set(df.columns), {"name", "weight"})
      self.assertEqual(list(df["weight"]), g.vs["weight"])
  
      # No vertex names, with attributes (common case)
      g = Graph([(0, 1), (0, 2), (0, 3), (1, 2), (2, 4)])
      g.vs["weight"] = [0, 5, 1, 4, 42]
      df = g.get_vertex_dataframe()
      self.assertEqual(df.shape, (5, 1))
      self.assertEqual(list(df.index), [0, 1, 2, 3, 4])
      self.assertEqual(list(df.columns), ["weight"])
      self.assertEqual(list(df["weight"]), g.vs["weight"])
  
imports: import gzip
  import io
  import unittest
  import warnings
  from igraph import Graph, InternalError
  from .utils import temporary_file
label_desc: Use image node_id 16 for calling the ForeignTests obj's underlying member method code with example usage: obj.testVertexDataFrames() without return types