aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/test_csvcmp.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/test_csvcmp.py')
-rw-r--r--tests/unit/test_csvcmp.py88
1 files changed, 47 insertions, 41 deletions
diff --git a/tests/unit/test_csvcmp.py b/tests/unit/test_csvcmp.py
index 3c9ba33..c7ffe2f 100644
--- a/tests/unit/test_csvcmp.py
+++ b/tests/unit/test_csvcmp.py
@@ -1,13 +1,15 @@
+"""Tests for gn3.csvcmp"""
+import pytest
+
from gn3.csvcmp import csv_diff
from gn3.csvcmp import fill_csv
from gn3.csvcmp import remove_insignificant_edits
from gn3.csvcmp import extract_strain_name
-import pytest
-
@pytest.mark.unit_test
def test_fill_csv():
+ """Test that filling a csv works properly"""
test_input = """
Strain Name,Value,SE,Count,Sex
BXD1,18,x,0,
@@ -20,45 +22,47 @@ BXD1,18,x,0,x
BXD12,16,x,x,x
BXD14,15,x,x,x
BXD15,14,x,x,x"""
- assert(fill_csv(test_input, width=5, value="x") == expected_output)
+ assert fill_csv(test_input, width=5, value="x") == expected_output
+
@pytest.mark.unit_test
def test_remove_insignificant_data():
+ """Test that values outside ε are removed/ ignored"""
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'}
- ]
+ "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'}
- ]
+ "Additions": [],
+ "Deletions": [],
+ "Modifications": [
+ {"Current": "2,3", "Original": "2,2"},
+ {"Current": "1.01,3", "Original": "1,2"},
+ ],
}
- assert (remove_insignificant_edits(diff_data) ==
- expected_json)
+ assert remove_insignificant_edits(diff_data) == expected_json
@pytest.mark.unit_test
def test_csv_diff_same_columns():
- assert(csv_diff(base_csv="a,b\n1,2\n",
- delta_csv="a,b\n1,3") == {
- 'Additions': [],
- 'Deletions': [],
- 'Columns': '',
- 'Modifications': [{'Current': '1,3',
- 'Original': '1,2'}]})
+ """Test csv diffing on data with the same number of columns"""
+ assert csv_diff(base_csv="a,b\n1,2\n", delta_csv="a,b\n1,3") == {
+ "Additions": [],
+ "Deletions": [],
+ "Columns": "",
+ "Modifications": [{"Current": "1,3", "Original": "1,2"}],
+ }
@pytest.mark.unit_test
def test_csv_diff_different_columns():
+ """Test csv diffing on data with different columns"""
base_csv = """
Strain Name,Value,SE,Count
BXD1,18,x,0
@@ -71,17 +75,17 @@ BXD1,18,x,0
BXD12,16,x,x,1
BXD14,15,x,x
BXD15,14,x,x"""
- assert(csv_diff(base_csv=base_csv,
- delta_csv=delta_csv) == {
- 'Additions': [],
- 'Columns': 'Strain Name,Value,SE,Count,Sex',
- 'Deletions': [],
- 'Modifications': [{'Current': 'BXD12,16,x,x,1',
- 'Original': 'BXD12,16,x,x,x'}]})
+ assert csv_diff(base_csv=base_csv, delta_csv=delta_csv) == {
+ "Additions": [],
+ "Columns": "Strain Name,Value,SE,Count,Sex",
+ "Deletions": [],
+ "Modifications": [{"Current": "BXD12,16,x,x,1", "Original": "BXD12,16,x,x,x"}],
+ }
@pytest.mark.unit_test
def test_csv_diff_only_column_change():
+ """Test csv diffing when only the column header change"""
base_csv = """
Strain Name,Value,SE,Count
BXD1,18,x,0
@@ -95,15 +99,17 @@ BXD12,16,x,x
BXD14,15,x,x
BXD15,14,x,x
"""
- assert(csv_diff(base_csv=base_csv,
- delta_csv=delta_csv) == {
- 'Additions': [],
- 'Deletions': [],
- 'Modifications': []})
+ assert csv_diff(base_csv=base_csv, delta_csv=delta_csv) == {
+ "Additions": [],
+ "Deletions": [],
+ "Modifications": [],
+ }
@pytest.mark.unit_test
def test_extract_strain_name():
- assert(extract_strain_name(csv_header="Strain Name,Value,SE,Count",
- data="BXD1,18,x,0") ==
- "BXD1")
+ """Test that the strain's name is extracted given a csv header"""
+ assert (
+ extract_strain_name(csv_header="Strain Name,Value,SE,Count", data="BXD1,18,x,0")
+ == "BXD1"
+ )