code: def testFullBipartite(self):
      g = Graph.Full_Bipartite(10, 5)
      self.assertTrue(
          g.vcount() == 15
          and g.ecount() == 50
          and g.is_directed() is False
      )
      expected = sorted(
          [(i, j) for i in range(10) for j in range(10, 15)]
      )
      self.assertTrue(sorted(g.get_edgelist()) == expected)
      self.assertTrue(g.vs["type"] == [False] * 10 + [True] * 5)
  
      g = Graph.Full_Bipartite(10, 5, directed=True, mode="out")
      self.assertTrue(
          g.vcount() == 15
          and g.ecount() == 50
          and g.is_directed() is True
      )
      self.assertTrue(sorted(g.get_edgelist()) == expected)
      self.assertTrue(g.vs["type"] == [False] * 10 + [True] * 5)
  
      g = Graph.Full_Bipartite(10, 5, directed=True, mode="in")
      self.assertTrue(
          g.vcount() == 15
          and g.ecount() == 50
          and g.is_directed() is True
      )
      self.assertTrue(
          sorted(g.get_edgelist())
          == sorted([(i, j) for j, i in expected])
      )
      self.assertTrue(g.vs["type"] == [False] * 10 + [True] * 5)
  
      g = Graph.Full_Bipartite(10, 5, directed=True)
      self.assertTrue(
          g.vcount() == 15
          and g.ecount() == 100
          and g.is_directed() is True
      )
      expected.extend([(j, i) for i, j in expected])
      expected.sort()
      self.assertTrue(sorted(g.get_edgelist()) == expected)
      self.assertTrue(g.vs["type"] == [False] * 10 + [True] * 5)
  
file_path: python-igraph/tests/test_bipartite.py
imports: import unittest
  from igraph import Graph
label_desc: Use image node_id 2 for calling the BipartiteTests obj's underlying member method code with example usage: obj.testFullBipartite() without return types