public void testEnumerationLiteral_01() { List <object> constraints = doTestContextOK("context Film inv: Situation::married = Situation::married", getCurrentMethodName()); OclExpression oclExpression = getConstraintExpression(constraints); Assert.IsTrue(((OperationCallExp)oclExpression).getSource() is EnumLiteralExp); EnumLiteralExp exp = (EnumLiteralExp)((OperationCallExp)oclExpression).getSource(); Assert.AreEqual("Situation", exp.getType().getName()); Assert.AreEqual("married", exp.getReferredEnumLiteral().getName()); }
public void doTestEnumOK(String enumFullName, String enumName, String enumLiteral, String source) { CSTNode node = parseOK(enumFullName + "::" + enumLiteral, source); Assert.IsTrue(node is CSTClassifierAttributeCallExpCS); CSTClassifierAttributeCallExpCS literalExp = (CSTClassifierAttributeCallExpCS)node; Assert.IsNotNull(literalExp.getAst()); Assert.IsTrue(literalExp.getAst() is EnumLiteralExp); EnumLiteralExp ast = (EnumLiteralExp)literalExp.getAst(); Assert.AreEqual(enumLiteral, ast.getReferredEnumLiteral().getName()); Assert.IsNotNull(ast.getType()); Assert.AreEqual(enumName, ast.getType().getName()); }