Skip to content
Snippets Groups Projects

fixed bug in update graph and added tests

Merged Schokolowski, Malte requested to merge bav1758/ci-s-projekt-verarbeitung:main into main
5 files
+ 275
13
Compare changes
  • Side-by-side
  • Inline
Files
5
@@ -3,6 +3,7 @@ import unittest
import sys
from pathlib import Path
sys.path.append("../")
from verarbeitung.construct_new_graph.initialize_graph import init_graph_construction
@@ -10,18 +11,15 @@ from verarbeitung.construct_new_graph.export_to_json import output_to_json
from verarbeitung.update_graph.import_from_json import input_from_json
from verarbeitung.update_graph.update_graph import update_graph, get_old_input_dois, get_new_input_dois
from verarbeitung.update_graph.update_depth import reduce_max_height_depth_test, get_old_max_references_citations_test
from verarbeitung.update_graph.update_edges import back_to_valid_edges
from verarbeitung.update_graph.delete_nodes_edges import search_ref_cit_graph_rec_test
from verarbeitung.update_graph.compare_old_and_new_node_lists import compare_old_and_new_node_lists
from verarbeitung.update_graph.connect_new_input import find_furthermost_citations_test
from verarbeitung.get_pub_from_input import input_test_func
class UpdatingTest(unittest.TestCase):
maxDiff = None
def test_import_from_json(self):
nodes_old, edges_old = init_graph_construction(['doi_lg_1_i'],2,2,True)
output_to_json(nodes_old, edges_old, test_var = True)
nodes_new, edges_new = input_from_json('test_output.json')
self.assertCountEqual(nodes_old,nodes_new)
self.assertCountEqual(edges_old, edges_new)
def test_deleted_input_dois(self):
nodes_old_single, edges_old_single = init_graph_construction(['doi_lg_1_i'],2,2,True)
nodes_old_both, edges_old_both = init_graph_construction(['doi_lg_1_i','doi_lg_2_i'],2,2,True)
@@ -135,9 +133,113 @@ class UpdatingTest(unittest.TestCase):
pub_lg_2_d_21.group = -2
pubs = [pub_lg_2_i, pub_lg_2_h_11, pub_lg_2_h_21, pub_lg_2_h_22,pub_lg_2_d_11, pub_lg_2_d_21]
self.assertCountEqual(get_old_max_references_citations_test(pubs, 2, "Height"), [pub_lg_2_h_21,pub_lg_2_h_22])
# import_from_json.py:
def test_input_from_json(self):
nodes_old, edges_old = init_graph_construction(['doi_lg_1_i'],2,2,True)
output_to_json(nodes_old, edges_old, test_var = True)
nodes_new, edges_new = input_from_json('test_output.json')
self.assertCountEqual(nodes_old,nodes_new)
self.assertCountEqual(edges_old, edges_new)
# update_edges.py:
def test_back_to_valid_edges(self):
pub_lg_2_i = input_test_func('doi_lg_2_i')
pub_lg_2_i.group = 0
pub_lg_2_h_11 = input_test_func('doi_lg_2_h11')
pub_lg_2_h_11.group = 1
pub_lg_2_d_11 = input_test_func('doi_lg_2_d11')
pub_lg_2_d_11.group = -1
pubs = [pub_lg_2_i, pub_lg_2_h_11, pub_lg_2_d_11]
edges = [['doi_lg_2_h11','doi_lg_2_i'],['doi_lg_2_i','doi_lg_2_d11'],['doi_lg_2_h21','doi_lg_2_h11'],['doi_lg_2_i','doi_lg_2_d21']]
back_to_valid_edges(edges, pubs)
self.assertCountEqual([['doi_lg_2_h11','doi_lg_2_i'],['doi_lg_2_i','doi_lg_2_d11']],edges)
# delete_nodes_edges.py:
def test_search_ref_graph_rec(self):
pub_lg_2_i = input_test_func('doi_lg_2_i')
pub_lg_2_i.group = 0
pub_lg_2_h11 = input_test_func('doi_lg_2_h11')
pub_lg_2_h11.group = 1
pub_lg_2_h12 = input_test_func('doi_lg_2_h12')
pub_lg_2_h12.group = 1
pub_lg_2_d11 = input_test_func('doi_lg_2_d11')
pub_lg_2_d11.group = -1
pub_lg_2_d12 = input_test_func('doi_lg_2_d12')
pub_lg_2_d12.group = -1
pub_lg_2_h21 = input_test_func('doi_lg_2_h21')
pub_lg_2_h21.group = 2
pub_lg_2_h22 = input_test_func('doi_lg_2_h22')
pub_lg_2_h22.group = 2
pub_lg_2_d21 = input_test_func('doi_lg_2_d21')
pub_lg_2_d21.group = -2
pub_cg_i = input_test_func('doi_cg_i')
pub_cg_i.group = 0
pub_cg_h11 = input_test_func('doi_cg_h11')
pub_cg_h11.group = 1
pub_cg_d12 = input_test_func('doi_cg_d11')
pub_cg_d12.group = -1
pub_cg_d11 = input_test_func('doi_cg_d12')
pub_cg_d11.group = -1
pubs = [pub_lg_2_i, pub_lg_2_h11, pub_lg_2_h12, pub_lg_2_d11, pub_lg_2_d12, pub_lg_2_h21, pub_lg_2_h22, pub_lg_2_d21, pub_cg_i, pub_cg_d11, pub_cg_d12, pub_cg_h11]
usable_nodes = search_ref_cit_graph_rec_test(pubs, [pub_cg_i], "Citation")
self.assertCountEqual(usable_nodes, [pub_cg_h11, pub_lg_2_h11, pub_lg_2_h21, pub_lg_2_h22])
# compare_old_and_new_node_lists.py:
def test_compare_old_and_new_nodes(self):
old_input = ['doi_lg_1_i', 'doi_lg_2_i']
new_input = ['doi_lg_1_i', 'doi_cg_i']
common_nodes, inserted_nodes, deleted_nodes = compare_old_and_new_node_lists(old_input, new_input)
self.assertCountEqual(common_nodes, ['doi_lg_1_i'])
self.assertCountEqual(inserted_nodes, ['doi_cg_i'])
self.assertCountEqual(deleted_nodes, ['doi_lg_2_i'])
# connect_new_input.py:
def test_find_furthermost_citations(self):
pub_lg_2_i = input_test_func('doi_lg_2_i')
pub_lg_2_i.group = 0
pub_lg_2_h11 = input_test_func('doi_lg_2_h11')
pub_lg_2_h11.group = 1
pub_lg_2_h12 = input_test_func('doi_lg_2_h12')
pub_lg_2_h12.group = 1
pub_lg_2_d11 = input_test_func('doi_lg_2_d11')
pub_lg_2_d11.group = -1
pub_lg_2_d12 = input_test_func('doi_lg_2_d12')
pub_lg_2_d12.group = -1
pub_lg_2_h21 = input_test_func('doi_lg_2_h21')
pub_lg_2_h21.group = 2
pub_lg_2_h22 = input_test_func('doi_lg_2_h22')
pub_lg_2_h22.group = 2
pub_lg_2_d21 = input_test_func('doi_lg_2_d21')
pub_lg_2_d21.group = -2
pub_lg_2_d22 = input_test_func('doi_lg_2_d22')
pub_lg_2_d22.group = -2
pubs = [pub_lg_2_i, pub_lg_2_h11, pub_lg_2_h12, pub_lg_2_d11, pub_lg_2_d12, pub_lg_2_h21, pub_lg_2_h22, pub_lg_2_d21, pub_lg_2_d22]
self.assertCountEqual(find_furthermost_citations_test(pubs, pub_lg_2_h11, 2, "Citation"),[pub_lg_2_h21, pub_lg_2_h22])
self.assertCountEqual(find_furthermost_citations_test(pubs, pub_lg_2_h11, 1, "Citation"),[pub_lg_2_h11])
self.assertCountEqual(find_furthermost_citations_test(pubs, pub_lg_2_d11, 2, "Reference"),[pub_lg_2_d21, pub_lg_2_i])
self.assertCountEqual(find_furthermost_citations_test(pubs, pub_lg_2_d11, 1, "Reference"),[pub_lg_2_d11])
def test_complete_changed_group_nodes(self):
pub_cg_i = input_test_func('doi_cg_i')
pub_cg_i.group = 0
pub_cg_h11 = input_test_func('doi_cg_h11')
pub_cg_h11.group = 1
pub_cg_h21 = input_test_func('doi_cg_h21')
pub_cg_h21.group = 2
pub_cg_h22 = input_test_func('doi_cg_h22')
pub_cg_h22.group = 2
pubs = []
Loading