mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-17 00:07:37 +02:00
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
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()
|