return False return True # 检查mapping是否边类型也一样 def checkMapping(graph1, graph2, mapping): for node1 in mapping.keys(): for node2 in mapping.keys(): edgesInG1 = graph1.getEdges(node1, node2) # [(Edge.edgeType)] edgesInG2 = graph2.getEdges(mapping[node1], mapping[node2]) if len(getDiff(edgesInG1, edgesInG2)) != 0: return False return True if __name__ == '__main__': # test matcher print("Graph Match Test") instance = Input.instanceInput( "examples//sokoban_game//instances//trivial.json") rules = Input.rulesInput("examples//sokoban_game//rules.json") instance.print() rules[0].print() rules[1].print() rules[2].print() rules[3].print() mappingList = Match.getMatch(instance, rules[1]) print("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", mappingList)