diff --git a/tests/test_kv_dup.py b/tests/test_kv_dup.py new file mode 100644 index 00000000..219f937a --- /dev/null +++ b/tests/test_kv_dup.py @@ -0,0 +1,44 @@ +import os +import unittest +import jc.parsers.kv_dup + +THIS_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class MyTests(unittest.TestCase): + + def test_kv_dup_nodata(self): + """ + Test the test kv file with no data + """ + self.assertEqual(jc.parsers.kv_dup.parse('', quiet=True), {}) + + def test_kv_dup_duplicate_keys(self): + """ + Test input that contains duplicate keys + """ + data = ''' +duplicate_key: value1 +another_key = foo +duplicate_key = value2 +''' + expected = {"duplicate_key":["value1","value2"],"another_key":["foo"]} + self.assertEqual(jc.parsers.kv_dup.parse(data, quiet=True), expected) + + def test_kv_dup_null_values(self): + """ + Test input that contains duplicate keys and null values + """ + data = ''' +normal_key: "hello world" +no_val +some_vals = 1 +some_vals +some_vals:3 +''' + expected = {"normal_key":["hello world"],"no_val":[""],"some_vals":["1","","3"]} + self.assertEqual(jc.parsers.kv_dup.parse(data, quiet=True), expected) + + +if __name__ == '__main__': + unittest.main()