Source code for bmtk.tests.builder.test_node_set

import pytest
from bmtk.builder.node_set import NodeSet
from bmtk.builder.node import Node
from bmtk.builder.id_generator import IDGenerator


[docs] def test_node_set(): generator = IDGenerator() node_set = NodeSet(N=100, node_params={'p1': range(100), 'p2': range(0, 1000, 100)}, node_type_properties={'prop1': 'prop1', 'node_type_id': 1}) nodes = node_set.build(generator) assert(len(nodes) == 100) assert(nodes[1]['p1'] == 1) assert(nodes[1]['p2'] == 100) assert(nodes[1]['prop1'] == 'prop1') assert(nodes[1]['node_type_id'] == 1)
[docs] def test_set_hash(): node_set1 = NodeSet(N=100, node_params={'param1': range(100)}, node_type_properties={'prop1': 'prop1', 'node_type_id': 1}) node_set2 = NodeSet(N=100, node_params = {'p1': range(100)}, node_type_properties={'prop1': 'prop2', 'node_type_id': 2}) node_set3 = NodeSet(N=10, node_params={'p1': ['hello']*10}, node_type_properties={'prop1': 'prop3', 'node_type_id': 3}) assert(node_set1.params_hash != node_set2.params_hash) assert(node_set2.params_hash == node_set3.params_hash)
[docs] def test_node(): node_set1 = NodeSet(N=100, node_params={'param1': range(100)}, node_type_properties={'prop1': 'prop1', 'node_type_id': 1}) nodes = node_set1.build(IDGenerator()) node_1 = nodes[0] assert(node_1.node_id == 0) assert(node_1['node_id'] == 0) assert(node_1.node_type_id == 1) assert(node_1['node_type_id'] == 1) assert('prop1' in node_1.node_type_properties) assert('param1' in node_1.params) assert('node_id' in node_1.params) assert('param1' in node_set1.params_keys) assert(node_1.params_hash == node_set1.params_hash)
if __name__ == '__main__': test_node_set() #test_node()