def __init__(self): from prompto.param.CategoryParameter import CategoryParameter TO_REPLACE_ARGUMENT = CategoryParameter(TextType.instance, "toReplace") REPLACE_WITH_ARGUMENT = CategoryParameter(TextType.instance, "replaceWith") super().__init__("replaceAll", TO_REPLACE_ARGUMENT, REPLACE_WITH_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(TextType.instance, "value") from prompto.type.IntegerType import IntegerType from prompto.literal.IntegerLiteral import IntegerLiteral FROM_INDEX_ARGUMENT = CategoryParameter(IntegerType.instance, "fromIndex", IntegerLiteral("1")) super(IndexOfMethodDeclaration, self).__init__("indexOf", VALUE_ARGUMENT, FROM_INDEX_ARGUMENT)
def testAnonymousAnyType(self): # any x argument = CategoryParameter(AnyType.instance, "x") argument.register(self.context) st = argument.getType(self.context) self.assertIsInstance(st, AnyType) self.assertTrue(st.isAssignableFrom(self.context, BooleanType.instance)) self.assertTrue(st.isAssignableFrom(self.context, IntegerType.instance)) self.assertTrue(st.isAssignableFrom(self.context, DecimalType.instance)) self.assertTrue(st.isAssignableFrom(self.context, TextType.instance)) self.assertTrue(st.isAssignableFrom(self.context, DateType.instance)) self.assertTrue( st.isAssignableFrom(self.context, DateTimeType.instance)) self.assertTrue(st.isAssignableFrom( self.context, MissingType.instance)) # missing type always compatible self.assertTrue(st.isAssignableFrom(self.context, AnyType.instance)) self.assertTrue( st.isAssignableFrom(self.context, CategoryType("Simple"))) self.assertTrue(st.isAssignableFrom(self.context, CategoryType("Root"))) self.assertTrue( st.isAssignableFrom(self.context, CategoryType("DerivedWithOther"))) self.assertTrue( st.isAssignableFrom(self.context, CategoryType("DerivedWithName")))
def testAnonymousCategoryType(self): # Root x argument = CategoryParameter(CategoryType("Root"), "x") argument.register(self.context) st = argument.getType(self.context) self.assertIsInstance(st, CategoryType) self.assertFalse( st.isAssignableFrom(self.context, BooleanType.instance)) self.assertFalse( st.isAssignableFrom(self.context, IntegerType.instance)) self.assertFalse( st.isAssignableFrom(self.context, DecimalType.instance)) self.assertFalse(st.isAssignableFrom(self.context, TextType.instance)) self.assertFalse(st.isAssignableFrom(self.context, DateType.instance)) self.assertFalse( st.isAssignableFrom(self.context, DateTimeType.instance)) self.assertFalse( st.isAssignableFrom(self.context, MissingType.instance)) self.assertFalse(st.isAssignableFrom( self.context, AnyType.instance)) # any type never compatible self.assertFalse( st.isAssignableFrom( self.context, CategoryType("Simple"))) # since Simple does not extend Root self.assertTrue(st.isAssignableFrom( self.context, CategoryType("Root"))) # since Root is Root self.assertTrue( st.isAssignableFrom(self.context, CategoryType( "DerivedWithOther"))) # since DerivedWithOther extends Root self.assertTrue( st.isAssignableFrom(self.context, CategoryType( "DerivedWithName"))) # since DerivedWithName extends Root
def testSystemOutPrint(self): parser = ECleverParser(text='print(objects=value,end="")') parser._input.tokenSource.addLF = False tree = parser.python_statement() builder = EPromptoBuilder(parser) walker = ParseTreeWalker() walker.walk(builder, tree) statement = builder.getNodeValue(tree) context = Context.newGlobalContext() arg = CategoryParameter(TextType.instance, "value") arg.register(context) context.setValue("value", TextLiteral('"test"')) # StringLiteral trims enclosing quotes result = statement.interpret(context, None, None) # no module self.assertIsNone(result) self.assertEqual("test", Out.read())
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter from prompto.literal.TextLiteral import TextLiteral SINGLE_SPACE_ARGUMENT = CategoryParameter(TextType.instance, "separator", TextLiteral('" "')) super().__init__("split", SINGLE_SPACE_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter from prompto.literal.TextLiteral import TextLiteral FORMAT_ARGUMENT = CategoryParameter(TextType.instance, "format", TextLiteral('"format"')) super(FormatMethodDeclaration, self).__init__("format", FORMAT_ARGUMENT)
def __init__(self, enumType): from prompto.param.CategoryParameter import CategoryParameter NAME_ARGUMENT = CategoryParameter(TextType.instance, "name") super(SymbolOfMethodDeclaration, self).__init__("symbolOf", NAME_ARGUMENT) self.enumType = enumType
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(TextType.instance, "value") super().__init__("startsWith", VALUE_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(TextType.instance, "value") super(EndsWithMethodDeclaration, self).__init__("endsWith", VALUE_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter KEY_ARGUMENT = CategoryParameter(TextType.instance, "key") super(RemoveKeyMethodDeclaration, self).__init__("removeKey", KEY_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(AnyType.instance, "value") super(RemoveValueMethodDeclaration, self).__init__("removeValue", VALUE_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter DELIMITER_ARGUMENT = CategoryParameter(TextType.instance, "delimiter") super().__init__("join", DELIMITER_ARGUMENT)
def __init__(self): from prompto.type.IntegerType import IntegerType from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(AnyType.instance, "value") AT_INDEX_ARGUMENT = CategoryParameter(IntegerType.instance, "atIndex") super(InsertValueMethodDeclaration, self).__init__("addValue", VALUE_ARGUMENT, AT_INDEX_ARGUMENT)
def __init__(self): from prompto.type.IntegerType import IntegerType from prompto.param.CategoryParameter import CategoryParameter ITEM_ARGUMENT = CategoryParameter(IntegerType.instance, "item") super(RemoveItemMethodDeclaration, self).__init__("removeItem", ITEM_ARGUMENT)
def __init__(self): from prompto.param.CategoryParameter import CategoryParameter VALUE_ARGUMENT = CategoryParameter(AnyType.instance, "value") super().__init__("addValue", VALUE_ARGUMENT)