def test_nodespace_removal(fixed_nodenet): res, uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=None, name="testspace") res, n1_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 100], nodespace=uid, name="sub1") res, n2_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 200], nodespace=uid, name="sub2") micropsi.add_link(fixed_nodenet, n1_uid, 'gen', n2_uid, 'gen', weight=1, certainty=1) res, sub_uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=uid, name="subsubspace") micropsi.delete_nodespace(fixed_nodenet, uid) # assert that the nodespace is gone assert not micropsi.nodenets[fixed_nodenet].is_nodespace(uid) assert uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodespaces'] # assert that the nodes it contained are gone assert not micropsi.nodenets[fixed_nodenet].is_node(n1_uid) assert n1_uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodes'] assert not micropsi.nodenets[fixed_nodenet].is_node(n2_uid) assert n2_uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodes'] # assert that sub-nodespaces are gone as well assert not micropsi.nodenets[fixed_nodenet].is_nodespace(sub_uid) assert sub_uid not in micropsi.nodenets[fixed_nodenet].get_data( )['nodespaces']
def test_nodespace_removal(fixed_nodenet): res, uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=None, name="testspace") res, n1_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 100], nodespace=uid, name="sub1") res, n2_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 200], nodespace=uid, name="sub2") micropsi.add_link(fixed_nodenet, n1_uid, 'gen', n2_uid, 'gen', weight=1, certainty=1) res, sub_uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=uid, name="subsubspace") micropsi.delete_nodespace(fixed_nodenet, uid) # assert that the nodespace is gone assert not micropsi.nodenets[fixed_nodenet].is_nodespace(uid) assert uid not in micropsi.nodenets[fixed_nodenet].data['nodespaces'] # assert that the nodes it contained are gone assert not micropsi.nodenets[fixed_nodenet].is_node(n1_uid) assert n1_uid not in micropsi.nodenets[fixed_nodenet].data['nodes'] assert not micropsi.nodenets[fixed_nodenet].is_node(n2_uid) assert n2_uid not in micropsi.nodenets[fixed_nodenet].data['nodes'] # assert that the links between the deleted nodes are gone linked_node_uids = [] for uid, link in micropsi.nodenets[fixed_nodenet].data['links'].items(): linked_node_uids.append(link['source_node_uid']) linked_node_uids.append(link['target_node_uid']) assert n1_uid not in linked_node_uids assert n2_uid not in linked_node_uids # assert that sub-nodespaces are gone as well assert not micropsi.nodenets[fixed_nodenet].is_nodespace(sub_uid) assert sub_uid not in micropsi.nodenets[fixed_nodenet].data['nodespaces']
def test_clone_nodes_to_new_nodespace(fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) res, testspace_uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=None, name="testspace") success, result = micropsi.clone_nodes(fixed_nodenet, ['n0001', 'n0002'], 'internal', nodespace=testspace_uid) assert success assert len(result['nodes']) == 2 assert len(result['links']) == 1 if result['nodes'][0]['name'] == 'A1_copy': a1_copy = result['nodes'][0] a2_copy = result['nodes'][1] else: a1_copy = result['nodes'][1] a2_copy = result['nodes'][0] a1_copy = nodenet.get_node(a1_copy['uid']) a2_copy = nodenet.get_node(a2_copy['uid']) assert a1_copy.parent_nodespace == testspace_uid assert a2_copy.parent_nodespace == testspace_uid
def test_nodespace_removal(fixed_nodenet): res, uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=None, name="testspace") res, n1_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 100], nodespace=uid, name="sub1") res, n2_uid = micropsi.add_node(fixed_nodenet, 'Register', [100, 200], nodespace=uid, name="sub2") micropsi.add_link(fixed_nodenet, n1_uid, 'gen', n2_uid, 'gen', weight=1, certainty=1) res, sub_uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=uid, name="subsubspace") micropsi.delete_nodespace(fixed_nodenet, uid) # assert that the nodespace is gone assert not micropsi.nodenets[fixed_nodenet].is_nodespace(uid) assert uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodespaces'] # assert that the nodes it contained are gone assert not micropsi.nodenets[fixed_nodenet].is_node(n1_uid) assert n1_uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodes'] assert not micropsi.nodenets[fixed_nodenet].is_node(n2_uid) assert n2_uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodes'] # assert that sub-nodespaces are gone as well assert not micropsi.nodenets[fixed_nodenet].is_nodespace(sub_uid) assert sub_uid not in micropsi.nodenets[fixed_nodenet].get_data()['nodespaces']
def test_clone_nodes_to_new_nodespace(fixed_nodenet): nodenet = micropsi.get_nodenet(fixed_nodenet) res, testspace_uid = micropsi.add_nodespace(fixed_nodenet, [100, 100], nodespace=None, name="testspace") success, result = micropsi.clone_nodes(fixed_nodenet, ['n0001', 'n0002'], 'internal', nodespace=testspace_uid) assert success assert len(result.keys()) == 2 for n in result.values(): if n['name'] == 'A1_copy': a1_copy = n elif n['name'] == 'A2_copy': a2_copy = n a1_copy = nodenet.get_node(a1_copy['uid']) a2_copy = nodenet.get_node(a2_copy['uid']) assert a1_copy.parent_nodespace == testspace_uid assert a2_copy.parent_nodespace == testspace_uid
def add_nodespace(nodenet_uid, position, nodespace, name="", options=None): return runtime.add_nodespace(nodenet_uid, position, nodespace, name=name, options=options)
def test_get_nodespace_list_with_empty_nodespace(test_nodenet): res, uid = micropsi.add_nodespace(test_nodenet, (200, 250), None, name="Foospace") data = micropsi.get_nodespace_list(test_nodenet) assert data[uid]['nodes'] == {}
def test_position_always_3d(test_nodenet): res, nuid = micropsi.add_node(test_nodenet, "Pipe", [200], None, state=None, name="A") res, nsuid = micropsi.add_nodespace(test_nodenet, [200, 125, 0, 134], None, name="NS") data = micropsi.get_nodes(test_nodenet) assert data['nodes'][nuid]['position'] == [200, 0, 0] assert data['nodespaces'][nsuid]['position'] == [200, 125, 0]
def add_nodespace(nodenet_uid, nodespace, name="", options=None): """ Create a new nodespace""" return runtime.add_nodespace(nodenet_uid, nodespace, name=name, options=options)