Exemplo n.º 1
0
 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")))
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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())