MCPcopy
hub / github.com/dmlc/dgl / test_remove_edges

Function test_remove_edges

tests/python/common/test_heterograph.py:3076–3192  ·  view source on GitHub ↗
(idtype)

Source from the content-addressed store, hash-verified

3074)
3075@parametrize_idtype
3076def test_remove_edges(idtype):
3077 # homogeneous Graphs
3078 g = dgl.graph(([0, 1], [1, 2]), idtype=idtype, device=F.ctx())
3079 e = 0
3080 g.remove_edges(e)
3081 assert g.num_edges() == 1
3082 u, v = g.edges(form="uv", order="eid")
3083 assert F.array_equal(u, F.tensor([1], dtype=idtype))
3084 assert F.array_equal(v, F.tensor([2], dtype=idtype))
3085 g = dgl.graph(([0, 1], [1, 2]), idtype=idtype, device=F.ctx())
3086 e = [0]
3087 g.remove_edges(e)
3088 assert g.num_edges() == 1
3089 u, v = g.edges(form="uv", order="eid")
3090 assert F.array_equal(u, F.tensor([1], dtype=idtype))
3091 assert F.array_equal(v, F.tensor([2], dtype=idtype))
3092 e = F.tensor([0], dtype=idtype)
3093 g.remove_edges(e)
3094 assert g.num_edges() == 0
3095
3096 # has node data
3097 g = dgl.graph(([0, 1], [1, 2]), idtype=idtype, device=F.ctx())
3098 g.ndata["h"] = F.copy_to(F.tensor([1, 2, 3], dtype=idtype), ctx=F.ctx())
3099 g.remove_edges(1)
3100 assert g.num_edges() == 1
3101 assert F.array_equal(g.ndata["h"], F.tensor([1, 2, 3], dtype=idtype))
3102
3103 # has edge data
3104 g = dgl.graph(([0, 1], [1, 2]), idtype=idtype, device=F.ctx())
3105 g.edata["h"] = F.copy_to(F.tensor([1, 2], dtype=idtype), ctx=F.ctx())
3106 g.remove_edges(0)
3107 assert g.num_edges() == 1
3108 assert F.array_equal(g.edata["h"], F.tensor([2], dtype=idtype))
3109
3110 # invalid eid
3111 assert_fail = False
3112 try:
3113 g.remove_edges(1)
3114 except:
3115 assert_fail = True
3116 assert assert_fail
3117
3118 # bipartite graph
3119 g = dgl.heterograph(
3120 {("user", "plays", "game"): ([0, 1], [1, 2])},
3121 idtype=idtype,
3122 device=F.ctx(),
3123 )
3124 e = 0
3125 g.remove_edges(e)
3126 assert g.num_edges() == 1
3127 u, v = g.edges(form="uv", order="eid")
3128 assert F.array_equal(u, F.tensor([1], dtype=idtype))
3129 assert F.array_equal(v, F.tensor([2], dtype=idtype))
3130 g = dgl.heterograph(
3131 {("user", "plays", "game"): ([0, 1], [1, 2])},
3132 idtype=idtype,
3133 device=F.ctx(),

Callers

nothing calls this directly

Calls 7

remove_edgesMethod · 0.80
create_test_heterograph3Function · 0.70
graphMethod · 0.45
ctxMethod · 0.45
num_edgesMethod · 0.45
edgesMethod · 0.45
copy_toMethod · 0.45

Tested by

no test coverage detected