grim/pyparser

9eb3d2666f5d
Parents 004235ac887c
Children 724e58075fc5
add some unit tests for the delimiter parser
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_delimiter.py Mon Nov 03 12:41:51 2014 -0600
@@ -0,0 +1,37 @@
+import unittest
+
+from pyparser.delimiter import DelimiterParser
+
+class TokenParser(DelimiterParser):
+ def __init__(self, tokens=None):
+ super(TokenParser, self).__init__(delimiter='|')
+
+ self.data = []
+
+ def process_line(self, *splits):
+ self.data.append(len(splits))
+
+
+class TestTokenParser(unittest.TestCase):
+ def setUp(self):
+ self.parser = TokenParser()
+
+ def tearDown(self):
+ self.parser = None
+
+ def _test(self, iterable, tokens):
+ data = self.parser.parse(iterable)
+
+ self.assertListEqual(tokens, data)
+
+
+ def test_emptry_string(self):
+ empty = []
+
+ self._test(empty, [])
+
+
+ def test_single_line(self):
+ data = ["one|two"]
+
+ self._test(data, [2])