Esempio n. 1
0
        public void testConstructor2AttributesAnd()
        {
            String                statement = "Company with 1 as id and \"IBM\" as name";
            ETestParser           parser    = new ETestParser(statement, false);
            ConstructorExpression c         = parser.parse_constructor_expression();

            Assert.IsNotNull(c);
            ArgumentList l = c.getArguments();

            Assert.IsNotNull(l);
            Assert.AreEqual(2, l.Count);
            Argument a = l[0];

            Assert.IsNotNull(a);
            Assert.AreEqual("id", a.GetName());
            IExpression e = a.getExpression();

            Assert.IsNotNull(e);
            Assert.IsTrue(e is IntegerLiteral);
            a = l[1];
            Assert.IsNotNull(a);
            Assert.AreEqual("name", a.GetName());
            e = a.getExpression();
            Assert.IsNotNull(e);
            Assert.IsTrue(e is TextLiteral);
        }
Esempio n. 2
0
        public void testMethodCallExpression()
        {
            String         statement = "print \"person\" + p.name";
            ETestParser    parser    = new ETestParser(statement, false);
            UnresolvedCall ac        = parser.parse_method_call();

            Assert.IsNotNull(ac);
        }
Esempio n. 3
0
        public void testConstructorFrom1Attribute()
        {
            String                statement = "Company from entity with 1 as id";
            ETestParser           parser    = new ETestParser(statement, false);
            ConstructorExpression c         = parser.parse_constructor_expression();

            Assert.IsNotNull(c);
        }
Esempio n. 4
0
        public void testNativeJava()
        {
            String      statement = "Java: System.out.println(value);";
            ETestParser parser    = new ETestParser(statement, false);
            NativeCall  call      = parser.parse_native_statement();

            Assert.IsNotNull(call);
            Assert.IsTrue(call is NativeCall);
        }
Esempio n. 5
0
        public void testAssignmentConstructor()
        {
            String                  statement = "c = Company from x with 1 as id and \"IBM\" as name";
            ETestParser             parser    = new ETestParser(statement, false);
            AssignInstanceStatement a         = parser.parse_assign_instance_statement();

            Assert.IsNotNull(a);
            Assert.IsTrue(a.getExpression() is ConstructorExpression);
        }
Esempio n. 6
0
        public void testMethodWith()
        {
            String      statement = "print \"a\" with \"1\" as value";
            ETestParser parser    = new ETestParser(statement, false);
            IStatement  stmt      = parser.parse_statement();

            Assert.IsNotNull(stmt);
            Assert.AreEqual(statement, generate(stmt));
        }
Esempio n. 7
0
        public void testList2ArgumentsAnd()
        {
            String        statement = "Person p and Employee e";
            ETestParser   parser    = new ETestParser(statement, false);
            ParameterList l         = parser.parse_argument_list();

            Assert.IsNotNull(l);
            Assert.AreEqual(2, l.Count);
        }
Esempio n. 8
0
        public void testNativeCSharp()
        {
            String      statement = "C#: Console.println(value);";
            ETestParser parser    = new ETestParser(statement, false);
            NativeCall  call      = parser.parse_native_statement();

            Assert.IsNotNull(call);
            Assert.IsTrue(call is NativeCall);
        }
Esempio n. 9
0
        public void testArrayAttribute()
        {
            String               statement = "define id as Integer[] attribute";
            ETestParser          parser    = new ETestParser(statement, false);
            AttributeDeclaration ad        = parser.parse_attribute_declaration();

            Assert.IsNotNull(ad);
            Assert.AreEqual("id", ad.GetName());
            Assert.AreEqual("Integer[]", ad.getIType().GetTypeName());
        }
Esempio n. 10
0
        public void testNativeSymbol()
        {
            String      statement = "ENTITY_1 with \"1\" as value";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression symbol    = parser.parse_native_symbol();

            Assert.IsNotNull(symbol);
            Assert.IsTrue(symbol is NativeSymbol);
            Assert.AreEqual(statement, generate(symbol));
        }
Esempio n. 11
0
        public void testEmptyDictLiteral()
        {
            String      statement = "<:>";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DictLiteral);
            Assert.AreEqual("<:>", literal.ToString());
        }
Esempio n. 12
0
        public void testSimpleDictLiteral()
        {
            String      statement = "< \"john\" : 1234, eric : 5678 >";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DictLiteral);
            Assert.AreEqual("<\"john\":1234, eric:5678>", generate(literal));
        }
Esempio n. 13
0
        public void testArgument()
        {
            String          statement = "Person p";
            ETestParser     parser    = new ETestParser(statement, false);
            ITypedParameter a         = parser.parse_typed_argument();

            Assert.IsNotNull(a);
            Assert.AreEqual("Person", a.getType().GetTypeName());
            Assert.AreEqual("p", a.GetName());
        }
Esempio n. 14
0
        public void testRange()
        {
            String       statement = "[1..100]";
            ETestParser  parser    = new ETestParser(statement, false);
            RangeLiteral rl        = parser.parse_range_literal();

            Assert.IsNotNull(rl);
            Assert.AreEqual("1", rl.getFirst().ToString());
            Assert.AreEqual("100", rl.getLast().ToString());
            Assert.AreEqual("[1..100]", generate(rl));
        }
Esempio n. 15
0
        public void testPeriod()
        {
            String      statement = "'P3Y'";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is PeriodLiteral);
            Assert.AreEqual("'P3Y'", generate(literal));
            Assert.AreEqual(3, ((PeriodLiteral)literal).getValue().Years);
        }
Esempio n. 16
0
        public void testDateTimeWithMillis()
        {
            String      statement = "'2012-10-09T15:18:17.487Z'";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DateTimeLiteral);
            Assert.AreEqual("'2012-10-09T15:18:17.487Z'", literal.ToString());
            Assert.AreEqual(new DateTimeValue(2012, 10, 9, 15, 18, 17, 487), ((DateTimeLiteral)literal).getValue());
        }
Esempio n. 17
0
        public void testStringLiteral()
        {
            String      statement = "\"hello\"";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is TextLiteral);
            Assert.AreEqual("\"hello\"", generate(literal));
            Assert.AreEqual("hello", ((TextLiteral)literal).getValue().Value);
        }
Esempio n. 18
0
        public void testSimpleDate()
        {
            String      statement = "'2012-10-09'";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DateLiteral);
            Assert.AreEqual("'2012-10-09'", generate(literal));
            Assert.AreEqual(new DateValue(2012, 10, 9), ((DateLiteral)literal).getValue());
        }
Esempio n. 19
0
        public void testSimpleTime()
        {
            String      statement = "'15:03:10'";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is TimeLiteral);
            Assert.AreEqual("'15:03:10'", literal.ToString());
            Assert.AreEqual(new TimeValue(15, 03, 10, 0), ((TimeLiteral)literal).getValue());
        }
Esempio n. 20
0
        public void testEmptyListLiteral()
        {
            String      statement = "[]";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is ListLiteral);
            Assert.AreEqual("[]", literal.ToString());
            Assert.AreEqual(0, ((ListLiteral)literal).getValue().Count);
        }
Esempio n. 21
0
        public void testDecimalLiteral()
        {
            String      statement = "1234.13";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is DecimalLiteral);
            Assert.AreEqual("1234.13", generate(literal));
            Assert.AreEqual(1234.13, ((DecimalLiteral)literal).getValue().DoubleValue, 0.0000001);
        }
Esempio n. 22
0
        public void testHexaLiteral()
        {
            String      statement = "0x0A11";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is HexaLiteral);
            Assert.AreEqual("0x0A11", generate(literal));
            Assert.AreEqual(0x0A11, ((HexaLiteral)literal).getValue().LongValue);
        }
Esempio n. 23
0
        public void testIntegerLiteral()
        {
            String      statement = "1234";
            ETestParser parser    = new ETestParser(statement, false);
            IExpression literal   = parser.parse_literal_expression();

            Assert.IsNotNull(literal);
            Assert.IsTrue(literal is IntegerLiteral);
            Assert.AreEqual("1234", literal.ToString());
            Assert.AreEqual(1234, ((IntegerLiteral)literal).getValue().LongValue);
        }
Esempio n. 24
0
        public void testSimpleArgumentAssignment()
        {
            String      statement = "p.name as value";
            ETestParser parser    = new ETestParser(statement, false);
            Argument    ars       = parser.parse_argument_assignment();

            Assert.AreEqual("value", ars.GetName());
            IExpression exp = ars.getExpression();

            Assert.IsNotNull(exp);
            Assert.AreEqual("p.name as value", generate(ars));
        }
Esempio n. 25
0
        public void testComplexArgumentAssignment()
        {
            String      statement = "\"person\" + p.name as value";
            ETestParser parser    = new ETestParser(statement, false);
            Argument    ars       = parser.parse_argument_assignment();

            Assert.AreEqual("value", ars.GetName());
            IExpression exp = ars.getExpression();

            Assert.IsTrue(exp is PlusExpression);
            Assert.AreEqual("\"person\" + p.name as value", generate(ars));
        }
Esempio n. 26
0
        public void testNativeMethod()
        {
            String statement = "define print as native method receiving String value doing:\r\n"
                               + "\tJava: System.str.println(value); \r\n"
                               + "\tC#: Console.println(value); ";

            ETestParser             parser = new ETestParser(statement, false);
            NativeMethodDeclaration method = parser.parse_native_method_declaration();

            Assert.IsNotNull(method);
            Assert.IsTrue(method is NativeMethodDeclaration);
        }
Esempio n. 27
0
        public void testCategory1Attribute()
        {
            String              statement = "define Person as category with attribute id ";
            ETestParser         parser    = new ETestParser(statement, false);
            CategoryDeclaration cd        = parser.parse_category_declaration();

            Assert.IsNotNull(cd);
            Assert.AreEqual("Person", cd.GetName());
            Assert.IsNull(cd.getDerivedFrom());
            Assert.IsNotNull(cd.GetLocalAttributes());
            Assert.IsTrue(cd.GetLocalAttributes().Contains("id"));
        }
Esempio n. 28
0
        public void testCategory2DerivedNoAttribute()
        {
            String              statement = "define Entrepreneur as Person and Company";
            ETestParser         parser    = new ETestParser(statement, false);
            CategoryDeclaration cd        = parser.parse_category_declaration();

            Assert.IsNotNull(cd);
            Assert.AreEqual("Entrepreneur", cd.GetName());
            Assert.IsNotNull(cd.getDerivedFrom());
            Assert.IsTrue(cd.getDerivedFrom().Contains("Person"));
            Assert.IsTrue(cd.getDerivedFrom().Contains("Company"));
            Assert.IsNull(cd.GetLocalAttributes());
        }
Esempio n. 29
0
        public void testTuple()
        {
            String       statement = "(1,\"John\",'12:12:12')";
            ETestParser  parser    = new ETestParser(statement, false);
            TupleLiteral literal   = parser.parse_tuple_literal();

            Assert.IsNotNull(literal);
            ExpressionList list = ((TupleLiteral)literal).Expressions;

            Assert.AreEqual("1", list[0].ToString());
            Assert.AreEqual("\"John\"", list[1].ToString());
            Assert.AreEqual("'12:12:12'", list[2].ToString());
            Assert.AreEqual("1, \"John\", '12:12:12'", list.ToString());
        }
Esempio n. 30
0
        public void testMethod1Parameter1Statement()
        {
            String statement = "define printName as method receiving Person p doing:\r\n"
                               + "\tprint with \"person\" + p.name as value";
            ETestParser parser           = new ETestParser(statement, false);
            ConcreteMethodDeclaration ad = parser.parse_concrete_method_declaration();

            Assert.IsNotNull(ad);
            Assert.AreEqual("printName", ad.GetName());
            Assert.IsNotNull(ad.getParameters());
            Assert.IsTrue(ad.getParameters().Contains(new CategoryParameter(new CategoryType("Person"), "p")));
            Assert.IsNotNull(ad.getStatements());
            Assert.AreEqual("print with \"person\" + p.name as value", generate(ad.getStatements()[0]));
        }