def test_add_associated_nodes(self):
     """test for add_associated_nodes"""
     nodes_layer = self.jawa_nodes_layer
     add_associated_nodes(nodes_layer, THRESHOLD)
     features = nodes_layer.getFeatures()
     expected_attributes = [
         [0, 5, u'upstream', None, None, 1, 0],
         [1, 5, u'downstream', u'2', u'5', 1, 2],
         [2, 6, u'upstream', None, u'1,5', 1, 2],
         [3, 6, u'downstream', None, None, 0, 1],
         [4, 4, u'upstream', u'6', u'9', 2, 1],
         [5, 4, u'downstream', u'2', u'1', 1, 2],
         [6, 3, u'upstream', u'4', u'9', 2, 1],
         [7, 3, u'downstream', None, None, 0, 1],
         [8, 2, u'upstream', None, u'11', 1, 1],
         [9, 2, u'downstream', u'4,6', None, 2, 1],
         [10, 1, u'upstream', None, None, 1, 0],
         [11, 1, u'downstream', u'8', None, 1, 1]
     ]
     i = 0
     for feature in features:
         i += 1
         message = feature.attributes()
         self.assertIn(feature.attributes(), expected_attributes, message)
     message = ('There should be %s features but I got %s.' % (
         len(expected_attributes), i))
     self.assertEqual(len(expected_attributes), i, message)
    def test_check_associated_attributes(self):
        """Test for check_associated_attributes"""
        nodes_layer = get_temp_shapefile_layer(JAWA_NODES_SHP, 'nodes')
        message = 'Should be False.'
        assert not check_associated_attributes(nodes_layer), message

        add_associated_nodes(nodes_layer, THRESHOLD)
        message = 'Should be True.'
        assert check_associated_attributes(nodes_layer), message
    def setUpClass(cls):
        cls.sungai_layer = get_temp_shapefile_layer(
            JAWA_SHP, 'sungai_di_jawa')
        cls.dgn_layer = get_temp_shapefile_layer(
            DGN_SHP, 'dgn_test  ')

        cls.jawa_nodes_layer = get_temp_shapefile_layer(
            JAWA_NODES_SHP, 'nodes')
        cls.dgn_nodes_layer = get_temp_shapefile_layer(
            DGN_NODES_SHP, 'nodes')

        cls.prepared_nodes_layer = get_temp_shapefile_layer(
            JAWA_NODES_SHP, 'prepared_nodes')
        add_associated_nodes(cls.prepared_nodes_layer, THRESHOLD)