From d2fd9bc9b95f55be0ce9e29a8980a11f885412c9 Mon Sep 17 00:00:00 2001
From: Malte Schokolowski <baw8441@uni-hamburg.de>
Date: Wed, 22 Dec 2021 15:39:56 +0100
Subject: [PATCH] added unit tests for export_to_json.py

---
 verarbeitung/.gitignore                       |  6 +++-
 verarbeitung/test/construct_graph_unittest.py | 34 +++++++++++++++++--
 2 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/verarbeitung/.gitignore b/verarbeitung/.gitignore
index b604f4f..6987041 100644
--- a/verarbeitung/.gitignore
+++ b/verarbeitung/.gitignore
@@ -58,4 +58,8 @@ target/
 
 #CodeCounter
 
-.VSCodeCounter/
\ No newline at end of file
+.VSCodeCounter/
+
+#Json files
+
+*.json
\ No newline at end of file
diff --git a/verarbeitung/test/construct_graph_unittest.py b/verarbeitung/test/construct_graph_unittest.py
index 757cdf4..99d46af 100644
--- a/verarbeitung/test/construct_graph_unittest.py
+++ b/verarbeitung/test/construct_graph_unittest.py
@@ -1,12 +1,12 @@
 import unittest
 
-import sys
-  
+import sys 
 
 sys.path.append("../")
 
 from verarbeitung.construct_new_graph.initialize_graph import init_graph_construction, initialize_nodes_list_test, complete_inner_edges_test
 from verarbeitung.construct_new_graph.add_citations_rec import get_cit_type_list, create_graph_structure_citations_test
+from verarbeitung.construct_new_graph.export_to_json import format_nodes, format_edges
 from verarbeitung.test.input_test import input_test_func
 
 class ConstructionTest(unittest.TestCase):
@@ -182,6 +182,36 @@ class ConstructionTest(unittest.TestCase):
           self.assertCountEqual(return_edges, [['doi_lg_1_h11','doi_lg_1_i'],['doi_lg_1_h12','doi_lg_1_i'],['doi_lg_1_i','doi_lg_1_d11']])
           self.assertCountEqual(cit_list, [])
 
+
+
+     ##   export_to_json.py:
+
+     def test_format_nodes(self):
+          pub_lg_1_i = input_test_func('doi_lg_1_i')
+          pub_lg_1_i.group = 0
+          pub_lg_1_h_11 = input_test_func('doi_lg_1_h11')
+          pub_lg_1_h_11.group = 1
+          pub_lg_1_d_11 = input_test_func('doi_lg_1_d11')
+          pub_lg_1_d_11.group = -1
+
+          return_list_of_node_dicts = format_nodes([pub_lg_1_i, pub_lg_1_h_11, pub_lg_1_d_11])
+          check_list_of_node_dicts = [  {"doi": 'doi_lg_1_i', "name": 'title_lg_1_i', "author": ['contributor_lg_1_i'], "year": 'date_lg_1_i', "journal": 'journal_lg_1_i', "group": 'Input', "depth": 0, "citations": 2},
+                                        {"doi": 'doi_lg_1_h11', "name": 'title_lg_1_h11', "author": ['contributor_lg_1_h11'], "year": 'date_lg_1_h11', "journal": 'journal_lg_1_h11', "group": 'Citedby', "depth": 1, "citations": 2},
+                                        {"doi": 'doi_lg_1_d11', "name": 'title_lg_1_d11', "author": ['contributor_lg_1_d11'], "year": 'date_lg_1_d11', "journal": 'journal_lg_1_d11', "group": 'Reference', "depth": -1, "citations": 1}]
+          
+          self.assertCountEqual(return_list_of_node_dicts, check_list_of_node_dicts)
+
+
+     def test_format_edges(self):
+          return_list_of_edges = format_edges([['doi_lg_1_i','doi_lg_1_d11'],['doi_lg_1_i','doi_lg_1_d12'],['doi_lg_1_h11','doi_lg_1_i'],['doi_lg_1_h12','doi_lg_1_i']])
+          check_list_of_edges =    [{"source": 'doi_lg_1_i', "target": 'doi_lg_1_d11'},{"source": 'doi_lg_1_i', "target": 'doi_lg_1_d12'},
+                                    {"source": 'doi_lg_1_h11', "target": 'doi_lg_1_i'},{"source": 'doi_lg_1_h12', "target": 'doi_lg_1_i'}]
+
+          self.assertCountEqual(return_list_of_edges, check_list_of_edges)
+
+
+
+
           
 
 def keep_only_dois(nodes):
-- 
GitLab