diff options
| author | Alex <git@ajschof.me> | 2025-02-17 01:19:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-17 01:19:11 +0000 |
| commit | 73462d62d48cd3cf061697f9f6a390437ee29f2d (patch) | |
| tree | 4331016762f96c0861b46ac67343a0769f038fa6 /test | |
| parent | e6bedc5c9d391b761fec6529de8537a991125c26 (diff) | |
| parent | cf1376862fb2f58c2e837338ed9c765439ffa1b9 (diff) | |
| download | gdpr-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.py | 56 |
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 |
