Exemplo n.º 1
0
class TestFetchTokeniser(unittest.TestCase):
    def setUp(self):
        self.t = FetchTokeniser()

    def testEmptyList(self):
        self._test_list("", [])

    def testOneItemList(self):
        self._test_list("123", [123])

    def testWordsInList(self):
        self._test_list("test stuff", ["test", "stuff"])

    def testQuotedStringInList(self):
        self._test_list('"test stuff" and more', ["test stuff", "and", "more"])

    def testNILInList(self):
        self._test_list("test NIL stuff", ["test", None, "stuff"])

    def testEmptyListPair(self):
        self._test_pairs("FOO ()", [("FOO", [])])

    def testIntPair(self):
        self._test_pairs("FOO 123", [("FOO", 123)])

    def testQuotedStringPair(self):
        self._test_pairs('FOO "abc def"', [("FOO", "abc def")])

    def testComplexListPair(self):
        self._test_pairs('FOO (123 "a b c" \\XYZ)', [("FOO", [123, "a b c", "\\XYZ"])])

    def testMultiplePairs(self):
        self._test_pairs(
            'FOO 123 bar (def "XYZ") MORE "stuff"', [("FOO", 123), ("bar", ["def", "XYZ"]), ("MORE", "stuff")]
        )

    def testNoPairs(self):
        self._test_pairs("", [])

    def testGarbage(self):
        self.assertRaises(ValueError, self.t.process_pairs, 'FOO 123 BAH "abc" WHAT?')
        self.assertRaises(ValueError, self.t.process_pairs, 'HMMM FOO 123 BAH "abc"')
        self.assertRaises(ValueError, self.t.process_pairs, 'FOO 123 BAD BAH "abc"')

    def testLiteral(self):
        self._test_pairs("FOO {21}", [("FOO", Literal(21))])

    def _test_pairs(self, input_, expected):
        output = self.t.process_pairs(input_)
        self.assert_(output == expected, format_error(input_, output, expected))
        return output

    def _test_list(self, input_, expected):
        output = self.t.process_list(input_)
        self.assert_(output == expected, format_error(input_, output, expected))
        return output
Exemplo n.º 2
0
 def setUp(self):
     self.t = FetchTokeniser()
Exemplo n.º 3
0
 def setUp(self):
     self.t = FetchTokeniser()
Exemplo n.º 4
0
class TestFetchTokeniser(unittest.TestCase):
    def setUp(self):
        self.t = FetchTokeniser()

    def testEmptyList(self):
        self._test_list('', [])

    def testOneItemList(self):
        self._test_list('123', [123])

    def testWordsInList(self):
        self._test_list('test stuff', ['test', 'stuff'])

    def testQuotedStringInList(self):
        self._test_list('"test stuff" and more', ['test stuff', 'and', 'more'])

    def testNILInList(self):
        self._test_list('test NIL stuff', ['test', None, 'stuff'])

    def testEmptyListPair(self):
        self._test_pairs('FOO ()', [('FOO', [])])

    def testIntPair(self):
        self._test_pairs('FOO 123', [('FOO', 123)])

    def testQuotedStringPair(self):
        self._test_pairs('FOO "abc def"', [('FOO', "abc def")])

    def testComplexListPair(self):
        self._test_pairs('FOO (123 "a b c" \\XYZ)',
                         [('FOO', [123, "a b c", '\\XYZ'])])

    def testMultiplePairs(self):
        self._test_pairs('FOO 123 bar (def "XYZ") MORE "stuff"', [
            ('FOO', 123),
            ('bar', ['def', 'XYZ']),
            ('MORE', 'stuff'),
        ])

    def testNoPairs(self):
        self._test_pairs('', [])

    def testGarbage(self):
        self.assertRaises(ValueError, self.t.process_pairs,
                          'FOO 123 BAH "abc" WHAT?')
        self.assertRaises(ValueError, self.t.process_pairs,
                          'HMMM FOO 123 BAH "abc"')
        self.assertRaises(ValueError, self.t.process_pairs,
                          'FOO 123 BAD BAH "abc"')

    def testLiteral(self):
        self._test_pairs('FOO {21}', [('FOO', Literal(21))])

    def _test_pairs(self, input_, expected):
        output = self.t.process_pairs(input_)
        self.assert_(
            output == expected,
            format_error(input_, output, expected),
        )
        return output

    def _test_list(self, input_, expected):
        output = self.t.process_list(input_)
        self.assert_(
            output == expected,
            format_error(input_, output, expected),
        )
        return output