本文整理匯總了Python中openalea.core.node.Node.get_ad_hoc_dict方法的典型用法代碼示例。如果您正苦於以下問題:Python Node.get_ad_hoc_dict方法的具體用法?Python Node.get_ad_hoc_dict怎麽用?Python Node.get_ad_hoc_dict使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類openalea.core.node.Node
的用法示例。
在下文中一共展示了Node.get_ad_hoc_dict方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_dataflow_state_get_data
# 需要導入模塊: from openalea.core.node import Node [as 別名]
# 或者: from openalea.core.node.Node import get_ad_hoc_dict [as 別名]
def test_dataflow_state_get_data():
df = DataFlow()
vid1 = df.add_vertex()
pid10 = df.add_in_port(vid1, "in")
pid11 = df.add_out_port(vid1, "out")
vid2 = df.add_vertex()
pid21 = df.add_out_port(vid2, "out")
vid5 = df.add_vertex()
pid51 = df.add_out_port(vid5, "out")
vid3 = df.add_vertex()
pid31 = df.add_in_port(vid3, "in1")
pid32 = df.add_in_port(vid3, "in2")
pid33 = df.add_out_port(vid3, "res")
vid4 = df.add_vertex()
pid41 = df.add_in_port(vid4, "in")
df.connect(pid11, pid31)
df.connect(pid21, pid32)
df.connect(pid33, pid41)
df.connect(pid51, pid32)
dfs = DataflowState(df)
for pid in df.ports():
assert_raises(KeyError, lambda: dfs.get_data(pid))
for i, pid in enumerate([pid11, pid21, pid33, pid51]):
dfs.set_data(pid, i)
assert_raises(KeyError, lambda: dfs.get_data(pid10))
dfs.set_data(pid10, 'a')
assert dfs.get_data(pid10) == 'a'
for i, pid in enumerate([pid11, pid21, pid33, pid51]):
assert dfs.get_data(pid) == i
assert dfs.get_data(pid31) == 0
assert tuple(dfs.get_data(pid32)) == (1, 3)
assert dfs.get_data(pid41) == 2
n2 = Node()
df.set_actor(vid2, n2)
assert tuple(dfs.get_data(pid32)) == (1, 3)
n5 = Node()
df.set_actor(vid5, n5)
assert tuple(dfs.get_data(pid32)) == (1, 3)
n2.get_ad_hoc_dict().set_metadata('position', [10, 0])
n5.get_ad_hoc_dict().set_metadata('position', [0, 0])
assert tuple(dfs.get_data(pid32)) == (3, 1)