def test_is_function(self): """Tests for is_function method.""" self.assertEqual(expression_parser.Token('sqrt').category, 'function') self.assertEqual(expression_parser.Token('abs').category, 'function') self.assertEqual(expression_parser.Token('tan').category, 'function') with self.assertRaisesRegexp(Exception, 'Invalid token: tan().'): expression_parser.Token('tan()') with self.assertRaisesRegexp(Exception, 'Invalid token: Sqrt.'): expression_parser.Token('Sqrt')
def test_is_operator(self): """Tests for is_operator method.""" self.assertEqual(expression_parser.Token('+').category, 'operator') self.assertEqual(expression_parser.Token('-').category, 'operator') self.assertEqual(expression_parser.Token('*').category, 'operator') self.assertEqual(expression_parser.Token('/').category, 'operator') self.assertEqual(expression_parser.Token('^').category, 'operator') self.assertEqual(expression_parser.Token('(').category, 'operator') self.assertEqual(expression_parser.Token(')').category, 'operator')
def test_is_number(self): """Tests for is_number method.""" self.assertEqual(expression_parser.Token('1').category, 'number') self.assertEqual(expression_parser.Token('123').category, 'number') self.assertEqual(expression_parser.Token('12.34').category, 'number') self.assertEqual(expression_parser.Token('0.004').category, 'number') self.assertEqual(expression_parser.Token('pi').category, 'number') self.assertEqual(expression_parser.Token('e').category, 'number') with self.assertRaisesRegexp(Exception, 'Invalid token: 8.4.3.'): expression_parser.Token('8.4.3')
def test_is_identifier(self): """Tests for is_identifier method.""" self.assertEqual(expression_parser.Token('a').category, 'identifier') self.assertEqual(expression_parser.Token('a').category, 'identifier') self.assertEqual( expression_parser.Token('alpha').category, 'identifier') self.assertEqual(expression_parser.Token('A').category, 'identifier') with self.assertRaisesRegexp(Exception, 'Invalid token: al.'): expression_parser.Token('al') self.assertNotEqual( expression_parser.Token('5').category, 'identifier')