aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2025-02-17 01:19:11 +0000
committerGitHub <noreply@github.com>2025-02-17 01:19:11 +0000
commit73462d62d48cd3cf061697f9f6a390437ee29f2d (patch)
tree4331016762f96c0861b46ac67343a0769f038fa6 /test
parente6bedc5c9d391b761fec6529de8537a991125c26 (diff)
parentcf1376862fb2f58c2e837338ed9c765439ffa1b9 (diff)
downloadgdpr-obfuscator-73462d62d48cd3cf061697f9f6a390437ee29f2d.tar.gz
gdpr-obfuscator-73462d62d48cd3cf061697f9f6a390437ee29f2d.zip
Merge pull request #1 from ajschofield/feat/csv-reader
merge csvreader into stable
Diffstat (limited to 'test')
-rw-r--r--test/test_csv_reader.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/test_csv_reader.py b/test/test_csv_reader.py
new file mode 100644
index 0000000..e62c093
--- /dev/null
+++ b/test/test_csv_reader.py
@@ -0,0 +1,56 @@
+# csv_reader.py - tests
+# Author: Alex Schofield
+
+from obfuscator.csv_reader import CSVReader
+import pytest
+
+reader = CSVReader()
+
+
+def test_empty_csv_should_return_no_content():
+ content = ""
+ result = reader.read_string(content)
+ expected = []
+ assert result == expected
+
+
+def test_csv_with_header_only_should_return_no_content():
+ content = "student_id,name,course\n"
+ result = reader.read_string(content)
+ expected = []
+ assert result == expected
+
+
+def test_csv_with_valid_data():
+ content = (
+ "student_id,name,course\n"
+ "1234,Student 1,Course 1\n"
+ "5678,Student 2,Course 2\n"
+ )
+ result = reader.read_string(content)
+ expected = [
+ {"student_id": "1234", "name": "Student 1", "course": "Course 1"},
+ {"student_id": "5678", "name": "Student 2", "course": "Course 2"},
+ ]
+ assert result == expected
+
+
+def test_csv_with_quoted_fields_should_run_as_expected():
+ content = (
+ "student_id,name,course\n"
+ '1234,"Student 1","Course 1"\n'
+ '5678,"Student 2","Course 2"\n'
+ )
+ result = reader.read_string(content)
+ expected = [
+ {"student_id": "1234", "name": "Student 1", "course": "Course 1"},
+ {"student_id": "5678", "name": "Student 2", "course": "Course 2"},
+ ]
+ assert result == expected
+
+
+def test_non_csv_file_should_return_no_content():
+ content = ""
+ result = reader.read_string(content)
+ expected = []
+ assert result == expected
git.ajschof.me — hosted by ajschofield — powered by cgit