def test_set_node_attribute_add_duplicate_attributes(self): net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 'value') res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 'value') net.set_node_attribute(1, 'attrname', 'value2') res = net.get_node_attributes(1) self.assertEqual(len(res), 2) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 'value') self.assertEqual(res[1][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[1][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[1][constants.NODE_ATTR_VALUE], 'value2') net.set_node_attribute(1, 'attrname', 'value3') res = net.get_node_attributes(1) self.assertEqual(len(res), 3) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 'value') self.assertEqual(res[1][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[1][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[1][constants.NODE_ATTR_VALUE], 'value2') self.assertEqual(res[2][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[2][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[2][constants.NODE_ATTR_VALUE], 'value3')
def test_set_node_attribute_empty_add_overwrite_toggled(self): net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 'value') res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 'value') net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 1, type='double') res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 1) net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 'value', overwrite=True) res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 'value') net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 1, type='double', overwrite=True) res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 1)
def test_set_node_attribute_empty_add_autodetect_datatype(self): # try int net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 5) res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 5) self.assertEqual(res[0][constants.NODE_ATTR_DATATYPE], 'integer') # try double/float net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', 5.5) res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 5.5) self.assertEqual(res[0][constants.NODE_ATTR_DATATYPE], 'double') # try list of string net = NiceCXNetwork() net.set_node_attribute(1, 'attrname', ['hi', 'bye']) res = net.get_node_attributes(1) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], 1) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], ['hi', 'bye']) self.assertEqual(res[0][constants.NODE_ATTR_DATATYPE], 'list_of_string')
def test_add_attribute_to_node(self): nef = Attribute(name='foo', value='someval') net = NiceCXNetwork() node_one = net.create_node('node1') nef.add_attribute_to_node(net_cx=net, node_id=node_one) e_attrs = net.get_node_attributes(node_one) self.assertEqual(1, len(e_attrs)) self.assertEqual('foo', e_attrs[0]['n']) self.assertEqual('someval', e_attrs[0]['v'])
def test_set_node_attribute_passing_node_object(self): # try int net = NiceCXNetwork() node_id = net.create_node(node_name='foo') node = net.get_node(node_id) net.set_node_attribute(node, 'attrname', 5) res = net.get_node_attributes(node_id) self.assertEqual(len(res), 1) self.assertEqual(res[0][constants.NODE_ATTR_PROPERTYOF], node_id) self.assertEqual(res[0][constants.NODE_ATTR_NAME], 'attrname') self.assertEqual(res[0][constants.NODE_ATTR_VALUE], 5) self.assertEqual(res[0][constants.NODE_ATTR_DATATYPE], 'integer')
# #### get_node_attributes(node) # In[ ]: NiceCX_creatures = NiceCXNetwork() #create one node node_id = NiceCX_creatures.create_node("new node") #add 10 attributes with value for this new node for i in range(10): attr_name = "new attribute " + str(i) attr_value = "new attribute value is " + str(i) NiceCX_creatures.set_node_attribute(node_id, attr_name, attr_value) NiceCX_creatures.get_node_attributes(node_id) # #### get_nodes() # In[ ]: NiceCX_creatures = NiceCXNetwork() #add 10 nodes to the network, each node has 5 attribute with value for i in range(10): node_name = "node " + str(i) node_id = NiceCX_creatures.create_node(node_name) for j in range(5): attr_name = "attribute " + str(i) + str(j) attr_value = "attribute value is " + str(i) + str(j)