def test_argument(self): text = "KEYWORD arg1 arg2" arg1 = Argument(8, 12, text) arg1.setArgumentDefinition(StringArgument()) arg2 = Argument(13, 17, text) self.assertEqual(arg1.value(), "arg1") self.assertEqual(arg2.value(), "arg2") self.assertEqual(arg2.line(), text) self.assertTrue(arg1.hasArgumentDefinition()) self.assertIsInstance(arg1.argumentDefinition(), StringArgument) self.assertFalse(arg2.hasArgumentDefinition()) self.assertIsNone(arg2.argumentDefinition())
def test_configuration_line(self): keyword_def = KeywordDefinition("KEYWORD") arg1_def = StringArgument() line = "KEYWORD string 2" keyword = Keyword(0, 7, line) self.assertEqual(keyword.value(), "KEYWORD") keyword.setKeywordDefinition(keyword_def) arg1 = Argument(8, 14, line) self.assertEqual(arg1.value(), "string") arg1.setArgumentDefinition(arg1_def) arg2 = Argument(15, 16, line) self.assertEqual(arg2.value(), "2") cl = ConfigurationLine(keyword=keyword, arguments=[arg1, arg2], documentation_link="help", group="test_group", required=True) self.assertTrue(cl.keyword().hasKeywordDefinition()) self.assertEqual(cl.keyword().keywordDefinition(), keyword_def) self.assertEqual(len(cl.arguments()), 2) self.assertEqual(cl.arguments()[0], arg1) self.assertTrue(cl.arguments()[0].hasArgumentDefinition()) self.assertEqual(cl.arguments()[0].argumentDefinition(), arg1_def) self.assertEqual(cl.arguments()[1], arg2) self.assertFalse(cl.arguments()[1].hasArgumentDefinition()) self.assertIsNone(cl.arguments()[1].argumentDefinition()) self.assertFalse(cl.validationStatusForToken(keyword)) self.assertTrue(cl.validationStatusForToken(arg1)) self.assertFalse(cl.validationStatusForToken(arg2))