Esempio n. 1
0
 def setUp(self):
     m = MapGraph()
     m.cong = DiGraph()
     m.add_edges_from([('A00-1', 'B00-1', {
         'RC': 'L',
         'PDC': 0
     }), ('A00-2', 'B00-2', {
         'RC': 'I',
         'PDC': 0
     }), ('A00-3', 'A00-1', {
         'RC': 'L',
         'PDC': 0
     }), ('A00-3', 'A00-2', {
         'RC': 'L',
         'PDC': 0
     }), ('A00-3', 'B00-3', {
         'RC': 'I',
         'PDC': 0
     })])
     m.cong.add_edges_from([('A00-1', 'C00-1', {
         'Connection': 'Present'
     }), ('C00-2', 'A00-2', {
         'Connection': 'Present'
     }), ('A00-3', 'C00-3', {
         'Connection': 'Absent'
     }), ('C00-4', 'A00-3', {
         'Connection': 'Absent'
     })])
     self.m = m
Esempio n. 2
0
def test_merge_identical_nodes():
    mock_conn = DiGraph()
    mock_conn.add_edges_from([('A-1', 'A-5'), ('A-4', 'A-1')])
    mapp = MapGraph()
    # Here we aren't adding the reciprocals, because add_edges_from
    # has been mocked.  And _merge_identical_nodes is designed only to
    # get a node's neighbors (i.e., its successors), assuming that
    # these are the same as its predecessors.
    mapp.add_edges_from([('A-1', 'A-3', {
        'RC': 'S',
        'PDC': 5
    }), ('A-1', 'B-1', {
        'RC': 'I',
        'PDC': 7
    }), ('A-1', 'C-1', {
        'RC': 'L',
        'PDC': 10
    }), ('A-1', 'A-2', {
        'RC': 'I',
        'PDC': 12
    })])
    mapp.cong = mock_conn
    mapp._merge_identical_nodes('A-2', 'A-1')
    nt.assert_equal(mapp.cong.edges(), [('A-2', 'A-5'), ('A-4', 'A-2')])
    nt.assert_equal(mapp.edges(), [('A-2', 'B-1'), ('A-2', 'C-1')])
Esempio n. 3
0
def test_add_to_hierarchy():
    # Not mocked: _relate_node_to_others
    mapp = MapGraph()
    # Add to an empty hierarchy.
    hierarchy = mapp._add_to_hierarchy('A-1', {})
    nt.assert_equal(hierarchy, {'A-1': {}})
    # RC = D.
    hierarchy = mapp._add_to_hierarchy('A-2', hierarchy)
    nt.assert_equal(hierarchy, {'A-1': {}, 'A-2': {}})
    # RC = L.
    mapp.add_edges_from([('A-3', 'A-1', {
        'RC': 'L'
    }), ('A-3', 'A-2', {
        'RC': 'L'
    })])
    hierarchy = mapp._add_to_hierarchy('A-3', hierarchy)
    nt.assert_equal(hierarchy, {'A-3': {'A-1': {}, 'A-2': {}}})
    # RC = S for the first round, then RC = L.
    mapp.add_edges_from([('A-4', 'A-3', {
        'RC': 'S'
    }), ('A-4', 'A-1', {
        'RC': 'L'
    })])
    hierarchy = mapp._add_to_hierarchy('A-4', hierarchy)
    nt.assert_equal(hierarchy, {'A-3': {'A-4': {'A-1': {}}, 'A-2': {}}})
Esempio n. 4
0
 def setUp(self):
     m = MapGraph()
     m.cong = DiGraph()
     m.add_edges_from([('A00-1', 'B00-1', {'RC': 'L', 'PDC': 0}),
                       ('A00-2', 'B00-2', {'RC': 'I', 'PDC': 0}),
                       ('A00-3', 'A00-1', {'RC': 'L', 'PDC': 0}),
                       ('A00-3', 'A00-2', {'RC': 'L', 'PDC': 0}),
                       ('A00-3', 'B00-3', {'RC': 'I', 'PDC': 0})])
     m.cong.add_edges_from([('A00-1', 'C00-1', {'Connection': 'Present'}),
                            ('C00-2', 'A00-2', {'Connection': 'Present'}),
                            ('A00-3', 'C00-3', {'Connection': 'Absent'}),
                            ('C00-4', 'A00-3', {'Connection': 'Absent'})])
     self.m = m
Esempio n. 5
0
def test_find_partial_coverage():
    mapp = MapGraph()
    mapp.add_edges_from([('A-1', 'B-1', {'RC': 'S'}),
                         ('B-1', 'A-1', {'RC': 'L'}),
                         ('C-1', 'B-1', {'RC': 'I'}),
                         ('B-1', 'C-1', {'RC': 'I'}),
                         ('D-1', 'B-1', {'RC': 'S'}),
                         ('B-1', 'D-1', {'RC': 'L'}),
                         ('D-2', 'B-1', {'RC': 'O'}),
                         ('B-1', 'D-2', {'RC': 'O'})])
    # A has partial coverage of B, and B has partial coverage of D.
    nt.assert_equal(MapGraph.find_partial_coverage.im_func(mapp),
                    [('B-1', 'D-2'), ('A-1', 'B-1')])
Esempio n. 6
0
def test_edge_removal():
    # Test for remove_edge and remove_edges_from.
    mock_mapp = MapGraph()
    mock_mapp.add_edges_from([('A-1', 'B-1', {'TP': []}),
                              ('B-1', 'A-1', {'TP': []}),
                              ('C-1', 'D-1', {'TP': ['E-1', 'A-1', 'B-1',
                                                     'I-1']}),
                              ('D-1', 'C-1', {'TP': ['I-1', 'B-1', 'A-1',
                                                     'E-1']}),
                              ('E-1', 'F-1', {'TP': ['D-1', 'C-1', 'G-1']}),
                              ('F-1', 'E-1', {'TP': ['G-1', 'C-1', 'D-1']}),
                              ('G-1', 'H-1', {'TP': []})])
    mock_mapp.remove_edges_from([('A-1', 'B-1')])
    nt.assert_equal(mock_mapp.edges(), [('G-1', 'H-1')])
Esempio n. 7
0
def test_merge_identical_nodes():
    mock_conn = DiGraph()
    mock_conn.add_edges_from([('A-1', 'A-5'), ('A-4', 'A-1')])
    mapp = MapGraph()
    # Here we aren't adding the reciprocals, because add_edges_from
    # has been mocked.  And _merge_identical_nodes is designed only to
    # get a node's neighbors (i.e., its successors), assuming that
    # these are the same as its predecessors.
    mapp.add_edges_from([('A-1', 'A-3', {'RC': 'S', 'PDC': 5}),
                         ('A-1', 'B-1', {'RC': 'I', 'PDC': 7}),
                         ('A-1', 'C-1', {'RC': 'L', 'PDC': 10}),
                         ('A-1', 'A-2', {'RC': 'I', 'PDC': 12})])
    mapp.cong = mock_conn
    mapp._merge_identical_nodes('A-2', 'A-1')
    nt.assert_equal(mapp.cong.edges(), [('A-2', 'A-5'), ('A-4', 'A-2')])
    nt.assert_equal(mapp.edges(), [('A-2', 'B-1'), ('A-2', 'C-1')])
Esempio n. 8
0
def test_add_to_hierarchy():
    # Not mocked: _relate_node_to_others
    mapp = MapGraph()
    # Add to an empty hierarchy.
    hierarchy = mapp._add_to_hierarchy('A-1', {})
    nt.assert_equal(hierarchy, {'A-1': {}})
    # RC = D.
    hierarchy = mapp._add_to_hierarchy('A-2', hierarchy)
    nt.assert_equal(hierarchy, {'A-1': {}, 'A-2': {}})
    # RC = L.
    mapp.add_edges_from([('A-3', 'A-1', {'RC': 'L'}),
                         ('A-3', 'A-2', {'RC': 'L'})])
    hierarchy = mapp._add_to_hierarchy('A-3', hierarchy)
    nt.assert_equal(hierarchy, {'A-3': {'A-1': {}, 'A-2': {}}})
    # RC = S for the first round, then RC = L.
    mapp.add_edges_from([('A-4', 'A-3', {'RC': 'S'}),
                         ('A-4', 'A-1', {'RC': 'L'})])
    hierarchy = mapp._add_to_hierarchy('A-4', hierarchy)
    nt.assert_equal(hierarchy, {'A-3': {'A-4': {'A-1': {}}, 'A-2': {}}})
Esempio n. 9
0
def test_edge_removal():
    # Test for remove_edge and remove_edges_from.
    mock_mapp = MapGraph()
    mock_mapp.add_edges_from([('A-1', 'B-1', {
        'TP': []
    }), ('B-1', 'A-1', {
        'TP': []
    }), ('C-1', 'D-1', {
        'TP': ['E-1', 'A-1', 'B-1', 'I-1']
    }), ('D-1', 'C-1', {
        'TP': ['I-1', 'B-1', 'A-1', 'E-1']
    }), ('E-1', 'F-1', {
        'TP': ['D-1', 'C-1', 'G-1']
    }), ('F-1', 'E-1', {
        'TP': ['G-1', 'C-1', 'D-1']
    }), ('G-1', 'H-1', {
        'TP': []
    })])
    mock_mapp.remove_edges_from([('A-1', 'B-1')])
    nt.assert_equal(mock_mapp.edges(), [('G-1', 'H-1')])
Esempio n. 10
0
def test_find_partial_coverage():
    mapp = MapGraph()
    mapp.add_edges_from([('A-1', 'B-1', {
        'RC': 'S'
    }), ('B-1', 'A-1', {
        'RC': 'L'
    }), ('C-1', 'B-1', {
        'RC': 'I'
    }), ('B-1', 'C-1', {
        'RC': 'I'
    }), ('D-1', 'B-1', {
        'RC': 'S'
    }), ('B-1', 'D-1', {
        'RC': 'L'
    }), ('D-2', 'B-1', {
        'RC': 'O'
    }), ('B-1', 'D-2', {
        'RC': 'O'
    })])
    # A has partial coverage of B, and B has partial coverage of D.
    nt.assert_equal(MapGraph.find_partial_coverage.im_func(mapp),
                    [('B-1', 'D-2'), ('A-1', 'B-1')])
Esempio n. 11
0
def test_clean_data():
    mapg = MapGraph()
    edges = []
    mapg.add_edges_from(edges)
    nt.assert_false(mapg.clean_data())
Esempio n. 12
0
def test_clean_data():
    mapg = MapGraph()
    edges = []
    mapg.add_edges_from(edges)
    nt.assert_false(mapg.clean_data())