1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
import pytest
from torch_geometric.typing import EdgeTypeStr
def test_edge_type_str():
edge_type_str = EdgeTypeStr('a__links__b')
assert isinstance(edge_type_str, str)
assert edge_type_str == 'a__links__b'
assert edge_type_str.to_tuple() == ('a', 'links', 'b')
edge_type_str = EdgeTypeStr('a', 'b')
assert isinstance(edge_type_str, str)
assert edge_type_str == 'a__to__b'
assert edge_type_str.to_tuple() == ('a', 'to', 'b')
edge_type_str = EdgeTypeStr(('a', 'b'))
assert isinstance(edge_type_str, str)
assert edge_type_str == 'a__to__b'
assert edge_type_str.to_tuple() == ('a', 'to', 'b')
edge_type_str = EdgeTypeStr('a', 'links', 'b')
assert isinstance(edge_type_str, str)
assert edge_type_str == 'a__links__b'
assert edge_type_str.to_tuple() == ('a', 'links', 'b')
edge_type_str = EdgeTypeStr(('a', 'links', 'b'))
assert isinstance(edge_type_str, str)
assert edge_type_str == 'a__links__b'
assert edge_type_str.to_tuple() == ('a', 'links', 'b')
with pytest.raises(ValueError, match="invalid edge type"):
EdgeTypeStr('a', 'b', 'c', 'd')
with pytest.raises(ValueError, match="Cannot convert the edge type"):
EdgeTypeStr('a__b__c__d').to_tuple()
|