code: def testInPlaceSubtraction(self):
      g = Graph.Full(8)
      orig = g
  
      # Deleting a vertex by vertex selector
      g -= 7
      self.assertTrue(
          g.vcount() == 7
          and g.ecount() == 21
          and g.connected_components().membership
          == [0, 0, 0, 0, 0, 0, 0]
      )
  
      # Deleting a vertex
      g -= g.vs[6]
      self.assertTrue(
          g.vcount() == 6
          and g.ecount() == 15
          and g.connected_components().membership == [0, 0, 0, 0, 0, 0]
      )
  
      # Deleting two vertices
      g -= [4, 5]
      self.assertTrue(
          g.vcount() == 4
          and g.ecount() == 6
          and g.connected_components().membership == [0, 0, 0, 0]
      )
  
      # Deleting an edge
      g -= (1, 2)
      self.assertTrue(
          g.vcount() == 4
          and g.ecount() == 5
          and g.connected_components().membership == [0, 0, 0, 0]
      )
  
      # Deleting three more edges
      g -= [(1, 3), (0, 2), (0, 3)]
      self.assertTrue(
          g.vcount() == 4
          and g.ecount() == 2
          and g.connected_components().membership == [0, 0, 1, 1]
      )
  
      # Did we really use the original graph so far?
      self.assertTrue(id(g) == id(orig))
  
      # Subtracting a graph
      g2 = Graph.Tree(3, 2)
      g -= g2
      self.assertTrue(
          g.vcount() == 4
          and g.ecount() == 1
          and g.connected_components().membership == [0, 1, 2, 2]
      )
  
imports: import unittest
  from igraph import Graph, disjoint_union, intersection, union
label_desc: Use image node_id 25 for calling the OperatorTests obj's underlying member method code with example usage: obj.testInPlaceSubtraction() without return types