Add base dumping/serialization mechanism.

This commit is contained in:
Sergio Martínez Portela 2020-06-22 00:40:47 +02:00
parent d29058cb5e
commit d23ee1adba
4 changed files with 177 additions and 41 deletions

View file

@ -1,10 +1,9 @@
import logging
import os
import sys
import unittest
from datetime import datetime as DT
from org_dom import load, loads
from org_dom import dumps, load, loads
from utils.dom_assertions import HL, Dom
DIR = os.path.dirname(os.path.abspath(__file__))
@ -37,3 +36,11 @@ class TestSerde(unittest.TestCase):
])))
ex.assert_matches(self, doc)
def test_mimic_write_file_01(self):
"""A goal of this library is to be able to update a file without changing parts not directly modified."""
with open(os.path.join(DIR, '01-simple.org')) as f:
orig = f.read()
doc = loads(orig)
self.assertEqual(dumps(doc), orig)

View file

@ -23,7 +23,7 @@ class Dom:
test_case.assertEqual(len(doc_props), len(self.props))
for i, prop in enumerate(self.props):
test_case.assertEqual(doc_props[i].name, prop[0])
test_case.assertEqual(doc_props[i].key, prop[0])
test_case.assertEqual(doc_props[i].value, prop[1])
# @TODO: Check properties
@ -58,7 +58,7 @@ class HL:
test_case.assertEqual(len(doc_props), len(self.props))
for i, prop in enumerate(self.props):
test_case.assertEqual(doc_props[i].name, prop[0])
test_case.assertEqual(doc_props[i].key, prop[0])
if isinstance(prop[1], datetime):
test_case.assertEqual(
timestamp_to_datetime(doc_props[i].value), prop[1])