#!/usr/bin/env python # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - """\ """ __author__ = "Benoit Kogut-Kubiak" __email__ = "benoit.kogutkubiak@netasq.com" __version__ = "$Revision: 0.0 $"[11:-2] # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - import unittest import Expression # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # strings that will be passed to the parser TEST_VALUE_NUMBER = '0.06' TEST_VALUE_BOOLEAN = 'True' TEST_VALUE_STRING = "'I''m a simple string'" TEST_VALUE_CALL = "MessageDlg('hello world')" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - class test_Expression(unittest.TestCase): """\ Performs unary tests upon the 'Expression' class, which is intented to analyze delphi expressions. """ _parser= Expression.Expression() # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - def _eqTest(self, buffer, expect) : result= self._parser(buffer) self.failUnlessEqual(expect, result, 'got "%s", expected "%s"' % (result, expect)) def _eqTestFormat(self, buffer, format) : self._eqTest(buffer, format % (buffer,)) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - def testNumber(self) : self._eqTestFormat(TEST_VALUE_NUMBER, Expression.PARSE_FORMAT_NUMBER) def testBoolean(self) : self._eqTestFormat(TEST_VALUE_BOOLEAN, Expression.PARSE_FORMAT_BOOLEAN) def testString(self) : self._eqTestFormat(TEST_VALUE_STRING, Expression.PARSE_FORMAT_STRING) def testCall(self) : result= self._parser(TEST_VALUE_CALL) self.fail('TODO '+ result) #~ self._eqTestFormat(TEST_VALUE_CALL, Expression.PARSE_FORMAT_CALL) def testNil(self) : self._eqTestFormat('nil', Expression.PARSE_FORMAT_KEYWORD) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if __name__ == '__main__' : unittest.main() # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -