From a4ae3a4d1bb680f8a0d38d37f8ceffe0f3a1b2a9 Mon Sep 17 00:00:00 2001 From: BonfaceKilz Date: Thu, 24 Feb 2022 09:00:49 +0300 Subject: Add methods for working with csv data gn3/csvcmp.py: New file (create_dirs_if_not_exists): From a list of dirs, create them if they don't exist. (remove_insignificant_edits): Given a dict with a "Modification" key, remove edits with "delta < ε". (csv_diff): Generate a csv_diff using the "csvdiff" tool packaged in guix. tests/unit/test_csvcmp.py: Add some tests for "gn3/csvcmp.py" --- tests/unit/test_csvcmp.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/unit/test_csvcmp.py (limited to 'tests') diff --git a/tests/unit/test_csvcmp.py b/tests/unit/test_csvcmp.py new file mode 100644 index 0000000..f73865d --- /dev/null +++ b/tests/unit/test_csvcmp.py @@ -0,0 +1,41 @@ +from gn3.csvcmp import csv_diff +from gn3.csvcmp import remove_insignificant_edits + +import pytest + + +@pytest.mark.unit_test +def test_remove_insignificant_data(): + diff_data = { + 'Additions': [], + 'Deletions': [], + 'Modifications': [ + {'Current': '1.000001,3', 'Original': '1,3'}, + {'Current': '1,3', 'Original': '1.000001,3'}, + {'Current': '2.000001,3', 'Original': '2,2'}, + {'Current': '1.01,3', 'Original': '1,2'} + ] + } + expected_json = { + 'Additions': [], + 'Deletions': [], + 'Modifications': [ + {'Current': '2,3', 'Original': '2,2'}, + {'Current': '1.01,3', 'Original': '1,2'} + ] + } + assert (remove_insignificant_edits(diff_data) == + expected_json) + + +@pytest.mark.unit_test +def test_csv_diff(): + test_results = csv_diff(base_csv="a,b\n1,2\n", + delta_csv="a,b\n1,3") + _json = { + 'Additions': [], + 'Deletions': [], + 'Modifications': [{'Current': '1,3', 'Original': '1,2'}] + } + assert(test_results.get("code") == 0 and + test_results.get("output") == _json) -- cgit v1.2.3