From 8b99457aa6ea15085ff854ec65f50b5b326c0c1a Mon Sep 17 00:00:00 2001 From: Alina Molkentin <alina.molkentin@studium.uni-hamburg.de> Date: Sun, 28 Nov 2021 21:00:51 +0100 Subject: [PATCH] =?UTF-8?q?Unittest=20Datei=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- verarbeitung/Processing.py | 22 +++++++++++++---- verarbeitung/Processing_unittest.py | 23 ++++++++++++++++++ .../__pycache__/Processing.cpython-36.pyc | Bin 0 -> 3693 bytes .../__pycache__/input_test.cpython-36.pyc | Bin 2359 -> 2579 bytes .../__pycache__/unittest.cpython-36.pyc | Bin 0 -> 646 bytes verarbeitung/json_text.json | 2 +- 6 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 verarbeitung/Processing_unittest.py create mode 100644 verarbeitung/__pycache__/Processing.cpython-36.pyc create mode 100644 verarbeitung/__pycache__/unittest.cpython-36.pyc diff --git a/verarbeitung/Processing.py b/verarbeitung/Processing.py index ac85f52..753bbe9 100644 --- a/verarbeitung/Processing.py +++ b/verarbeitung/Processing.py @@ -63,7 +63,7 @@ def create_graph_structure_citations(pub, search_height, search_height_max): edges.append([citation.doi_url,pub.doi_url]) # adds only edge if citation already exists - else: + elif [citation.doi_url,pub.doi_url] not in edges: edges.append([citation.doi_url,pub.doi_url]) @@ -85,7 +85,7 @@ def create_graph_structure_references(pub, search_depth, search_depth_max): edges.append([pub.doi_url,reference.doi_url]) # adds only edge if citation already exists - else: + elif [pub.doi_url,reference.doi_url] not in edges: edges.append([pub.doi_url,reference.doi_url]) @@ -182,13 +182,20 @@ def process_main(doi_input_list, search_height, search_depth, test_var = False): output_to_json(nodes,edges) # only for internal testing - return(nodes,edges) + doi_nodes = [] + for node in nodes: + doi_nodes.append(node.doi_url) + return(doi_nodes,edges) + + + + def print_graph(nodes, edges): print("Knoten:\n") for node in nodes: print(node.title, "\n") - print("\n Kanten:\n") + print("\nKanten:\n") for edge in edges: print(edge,"\n") @@ -201,6 +208,8 @@ def test_cycle(): nodes,edges = process_main(arr,1,1,True) + print(nodes, edges) + print_graph(nodes, edges) # program test, because there is no connection to the input yet. @@ -222,5 +231,8 @@ def test_print(): print_graph(nodes, edges) #test_print() -test_cycle() +#test_cycle() +print(process_main(['doiz1'],1,1,True)) +print(process_main(['doi1'],0,0,True)) + \ No newline at end of file diff --git a/verarbeitung/Processing_unittest.py b/verarbeitung/Processing_unittest.py new file mode 100644 index 0000000..b9f8104 --- /dev/null +++ b/verarbeitung/Processing_unittest.py @@ -0,0 +1,23 @@ +import unittest +from Processing import process_main + +class ProcessingTest(unittest.TestCase): + def testCycle(self): + self.assertEqual(process_main(['doiz1'],1,1,True), (['doiz1', 'doiz2'], [['doiz2', 'doiz1'], ['doiz1', 'doiz2']])) + self.assertEqual(process_main(['doiz1'],2,2,True), (['doiz1', 'doiz2'], [['doiz2', 'doiz1'], ['doiz1', 'doiz2']])) + + #def testBigCycle(self): + + #def testEmptyHeight(self): + + #def testEmptyDepth(self): + + def testEmptyDepthHeight(self): + self.assertEqual(process_main(['doi1'],0,0,True), (['doi1'], [])) + self.assertEqual(process_main(['doi1', 'doi2'],0,0,True), (['doi1','doi2'], [['doi1', 'doi2']])) + self.assertEqual(process_main(['doi1', 'doi2', 'doi3'],0,0,True), (['doi1','doi2', 'doi3'], [['doi3', 'doi1'], ['doi1', 'doi2']])) + + #def testInnerEdges(self): + +if __name__ == "__main__": + unittest.main() \ No newline at end of file diff --git a/verarbeitung/__pycache__/Processing.cpython-36.pyc b/verarbeitung/__pycache__/Processing.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eb6d8a0418a1340b746f2f664997515622356d8a GIT binary patch literal 3693 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 L`Ch}jw!!`l1wlr^ literal 0 HcmV?d00001 diff --git a/verarbeitung/__pycache__/input_test.cpython-36.pyc b/verarbeitung/__pycache__/input_test.cpython-36.pyc index 9dd609c5b2fe3d7530f4120f8993c04d58f4600c..85878d6d127d9d2bd5efe9130672d982bb70c5fa 100644 GIT binary patch delta 360 zcmdlkG+9L1n3tF9v*V(~eVhyoj~S2v2axRm#KqSpD);-O$fU@o$fd}qGo>h`D5fZ- zGlH>jI!6>|ic*Slib{$qP);pHJw*m62f`pZu2i;E_Ee5k&Qz{+)+p{2jbH{%&B?!+ z3^#tZW@n6=tk0pt9>tQ9pJ@~|If)~*{uV2cU1b=>UXodolUik1#h;v?S5lOjR9cc> zRAs1#Az&26nU!B!l$V$T)Ww#PSOU}(1vbP8W{450Ax7wi80o<c;mfHqf|_FFr^z#U z7l*w_6nj-=c1~$A&`}VEQIYKA^GxEJw>WHa^HWN5QtcQ)!6XJG_=Na4_&7M&IXE~t Or5Gg`C75IwWtaeV4Q0vz delta 117 zcmbO%vRz2on3tF9W9hua9UKe{j~S2vkk8-%#Kp5FD)$SdvZb=8a-=gyai+)wGib_g z{FlSdcx!SthYtHKmX!QVqg#{bafCAaX>v_&;IyB7kyArV2&kD)h>wGhgM*!egM(9w JQG!u|2>>+=85IBk diff --git a/verarbeitung/__pycache__/unittest.cpython-36.pyc b/verarbeitung/__pycache__/unittest.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..245eb7f9be9221daa930d9fa83c77368ba463af7 GIT binary patch literal 646 zcmY*Wy-ve05I#Fj32k9OOuRvbO8Ai&5JHtI#8!}C%3_7u4QZ1U>;yr@*1ic7FTsO& zW#Sc>xJyA4NB8;8&VBdY`DkOKdHntw?=pZ7SXl!79-2KtP@q@_5$!x<IgdDl3s9aC z3s6GC*qeKi(7y5~+#F-vm;=L{Yv?pSF&_pU=GymWI@H$6JWh)to&GM4P7lp)BWQ@2 zf`}`o_yQtNdB`H%=G8JgEs`5;%OUEm7wrwSKAPP}c!4pLOtA#>@$=>anM6W-gcv0} z;UhlB9uy$AKXAU9rn7@j;<{M|haK)(v9;Qi=MPn!8PbSN2&=Qv8<=$rzb?bOX|BUK zOAE5<DeR}$T@*UjlQJBpUE9T;Dd;|G6PsI|mQ|62|AMMW%Mv@<yMJ~qa(){1v4W+l zz-BxDo8MdcZGf{0q%7iGOX-?Y=2KN=<hP|H<;xq>LZVvr3N-1=L!ig5YXz*1iIHAO z%Fdb#eigdrpNx7QE}*CA$2cWoF>M4VC~>6-P0COu7o0A&oza|afDo`Y-x2})20ucc A$^ZZW literal 0 HcmV?d00001 diff --git a/verarbeitung/json_text.json b/verarbeitung/json_text.json index 8f648bf..5b81672 100644 --- a/verarbeitung/json_text.json +++ b/verarbeitung/json_text.json @@ -1 +1 @@ -{"nodes": [{"name": "titlez1", "author": ["contributorz1.1", "contributorz1.2"], "year": "datez1", "journal": "journalz1", "doi": "doiz1", "group": "input"}, {"name": "titlez2", "author": ["contributorz2.1", "contributorz2.2"], "year": "datez2", "journal": "journalz2", "doi": "doiz2", "group": "depth"}], "links": [{"source": "doiz1", "target": "doiz2"}]} \ No newline at end of file +{"nodes": [{"name": "title1", "author": ["contributor1"], "year": "date1", "journal": "journal1", "doi": "doi1", "group": "input"}, {"name": "title2", "author": ["contributor2"], "year": "date2", "journal": "journal2", "doi": "doi2", "group": "input"}, {"name": "title3", "author": ["contributor3"], "year": "date3", "journal": "journal3", "doi": "doi3", "group": "input"}], "links": [{"source": "doi3", "target": "doi1"}, {"source": "doi1", "target": "doi2"}]} \ No newline at end of file -- GitLab