public void parsesConstructor2AttributesComma() { String statement = "Company(id=1, name=\"IBM\")"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesInstanceExpression() { String statement = "prefix "; OTestParser parser = new OTestParser(statement); IExpression exp = parser.parse_expression(); Assert.IsTrue(exp is InstanceExpression); }
private void parsesVersionLiteral(String literal) { OTestParser parser = new OTestParser(literal); IExpression exp = parser.parse_expression(); Assert.IsTrue(exp is VersionLiteral); Assert.AreEqual(literal, "'" + ((VersionLiteral)exp).getValue().ToString() + "'"); }
public void parsesConstructorFrom1Attribute() { String statement = "Company(entity,id=1)"; OTestParser parser = new OTestParser(statement); ConstructorExpression c = parser.parse_constructor_expression(); Assert.IsNotNull(c); }
public void parsesMethodCallExpression() { String statement = "print (\"person\" + p.name );"; OTestParser parser = new OTestParser(statement); UnresolvedCall ac = parser.parse_method_call_statement(); Assert.IsNotNull(ac); }
public void parsesHasAnyExpression() { String statement = "(1,2,3,4) has any (1,2)"; OTestParser parser = new OTestParser(statement); IExpression exp = parser.parse_expression(); Assert.IsTrue(exp is ContainsExpression); }
public void parsesNativeCSharp() { String statement = "C#: Console.println(value);"; OTestParser parser = new OTestParser(statement); NativeCall call = parser.parse_native_statement(); Assert.IsNotNull(call); Assert.IsTrue(call is NativeCall); }
public void parsesNativeJava() { String statement = "Java: System.str.println(value);"; OTestParser parser = new OTestParser(statement); NativeCall call = parser.parse_native_statement(); Assert.IsNotNull(call); Assert.IsTrue(call is NativeCall); }
public void parsesAssignmentConstructor() { String statement = "c = Company ( id = 1, name = \"IBM\" );"; OTestParser parser = new OTestParser(statement); AssignInstanceStatement a = parser.parse_assign_instance_statement(); Assert.IsNotNull(a); Assert.IsTrue(a.getExpression() is UnresolvedCall); }
public void parsesList2ArgumentsComma() { String statement = "Person p, Employee e"; OTestParser parser = new OTestParser(statement); ParameterList l = parser.parse_argument_list(); Assert.IsNotNull(l); Assert.AreEqual(2, l.Count); }
public void parsesList1Argument() { String statement = "Person p"; OTestParser parser = new OTestParser(statement); ParameterList l = parser.parse_argument_list(); Assert.IsNotNull(l); Assert.AreEqual(1, l.Count); }
public void parsesArgument() { String statement = "Person p"; OTestParser parser = new OTestParser(statement); ITypedParameter a = parser.parse_typed_argument(); Assert.IsNotNull(a); Assert.AreEqual("Person", a.getType().GetTypeName()); Assert.AreEqual("p", a.GetName()); }
public void parsesExpressionWith() { String statement = "x = print ( value = \"1\" );"; OTestParser parser = new OTestParser(statement); IStatement stmt = parser.parse_statement(); Assert.IsNotNull(stmt); // Assert.AreEqual(statement, stmt.ToString()); Assert.AreEqual("x = print(value = \"1\")", generate(stmt)); }
public void parsesMethodWith() { String statement = "print (\"a\", value = \"1\");"; OTestParser parser = new OTestParser(statement); IStatement stmt = parser.parse_statement(); Assert.IsNotNull(stmt); // Assert.AreEqual(statement, stmt.ToString()); Assert.AreEqual("print(\"a\", value = \"1\")", generate(stmt)); }
public void parsesSimpleDictLiteral() { String statement = "< \"john\" : 1234, eric : 5678 >"; OTestParser parser = new OTestParser(statement); IExpression literal = parser.parse_literal_expression(); Assert.IsNotNull(literal); Assert.IsTrue(literal is DictLiteral); Assert.AreEqual("<\"john\":1234, eric:5678>", generate(literal)); // not very relevant since the literal is not evaluated yet }
public void parsesNativeSymbol() { String statement = "ENTITY_1 = \"1\"; "; OTestParser parser = new OTestParser(statement); IExpression symbol = parser.parse_native_symbol(); Assert.IsNotNull(symbol); Assert.IsTrue(symbol is NativeSymbol); Assert.AreEqual("\"1\"", ((NativeSymbol)symbol).getExpression().ToString()); }
public void parsesEmptyDictLiteral() { String statement = "<:>"; OTestParser parser = new OTestParser(statement); IExpression literal = parser.parse_literal_expression(); Assert.IsNotNull(literal); Assert.IsTrue(literal is DictLiteral); Assert.AreEqual("<:>", literal.ToString()); }
public void parsesArrayAttribute() { String statement = "attribute id : Integer[]; "; OTestParser parser = new OTestParser(statement); AttributeDeclaration ad = parser.parse_attribute_declaration(); Assert.IsNotNull(ad); Assert.AreEqual("id", ad.GetName()); Assert.AreEqual("Integer[]", ad.getIType().GetTypeName()); }
public void parsesHexaLiteral() { String statement = "0x0A11"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesStringLiteral() { String statement = "\"hello\""; OTestParser parser = new OTestParser(statement); 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); }
public void parsesPeriod() { String statement = "'P3Y'"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesDateTimeWithMillis() { String statement = "'2012-10-09T15:18:17.487Z'"; OTestParser parser = new OTestParser(statement); 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()); }
public void parsesSimpleTime() { String statement = "'15:03:10'"; OTestParser parser = new OTestParser(statement); 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()); }
public void parsesSimpleDate() { String statement = "'2012-10-09'"; OTestParser parser = new OTestParser(statement); 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()); }
public void parsesRange() { String statement = "[1..100]"; OTestParser parser = new OTestParser(statement); 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)); }
public void parsesDecimalLiteral() { String statement = "1234.13"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesIntegerLiteral() { String statement = "1234"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesEmptyListLiteral() { String statement = "[]"; OTestParser parser = new OTestParser(statement); 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); }
public void parsesCategory1Attribute() { String statement = "category Person ( id );"; OTestParser parser = new OTestParser(statement); 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")); }
public void parsesNativeMethod() { String statement = "native method print (String value) {\r\n" + "\tJava: System.str.println(value); \r\n" + "\tC#: Console.println(value); }"; OTestParser parser = new OTestParser(statement); NativeMethodDeclaration method = parser.parse_native_method_declaration(); Assert.IsNotNull(method); Assert.IsTrue(method is NativeMethodDeclaration); }