code: def test_project_weighted_shared(self):
      edges = [
          ("A", "B", 2),
          ("A", "C", 1),
          ("B", "C", 1),
          ("B", "D", 1),
          ("B", "E", 2),
          ("E", "F", 1),
      ]
      Panswer = nx.Graph()
      Panswer.add_weighted_edges_from(edges)
      P = bipartite.weighted_projected_graph(self.G, "ABCDEF")
      assert edges_equal(list(P.edges()), Panswer.edges())
      for u, v in list(P.edges()):
          assert P[u][v]["weight"] == Panswer[u][v]["weight"]
  
      edges = [
          ("A", "B", 3),
          ("A", "E", 1),
          ("A", "C", 1),
          ("A", "D", 1),
          ("B", "E", 1),
          ("B", "C", 1),
          ("B", "D", 1),
          ("C", "D", 1),
      ]
      Panswer = nx.Graph()
      Panswer.add_weighted_edges_from(edges)
      P = bipartite.weighted_projected_graph(self.N, "ABCDE")
      assert edges_equal(list(P.edges()), Panswer.edges())
      for u, v in list(P.edges()):
          assert P[u][v]["weight"] == Panswer[u][v]["weight"]
  
imports: import pytest
  import networkx
  from networkx.algorithms import bipartite
  from networkx.utils import edges_equal, nodes_equal
label_desc: Use image node_id 2 for calling the TestBipartiteWeightedProjection obj's underlying member method code with example usage: obj.test_project_weighted_shared() without return types