[327850] Add Xtext test file
diff --git a/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/Bad.ecore b/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/EcoreTestFile.ecore
similarity index 100%
rename from examples/org.eclipse.ocl.examples.project.completeocltutorial/model/Bad.ecore
rename to examples/org.eclipse.ocl.examples.project.completeocltutorial/model/EcoreTestFile.ecore
diff --git a/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/ExtraXtextValidation.ocl b/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/ExtraXtextValidation.ocl
new file mode 100644
index 0000000..0552bc8
--- /dev/null
+++ b/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/ExtraXtextValidation.ocl
@@ -0,0 +1,19 @@
+import 'http://www.eclipse.org/2008/Xtext'

+

+package xtext

+

+context ReferencedMetamodel

+inv NoAnonymousImports: alias <> null

+

+context Action

+inv NoActions : false

+

+context ParserRule

+inv CamelCaseName : name.matches('[A-Z][A-Za-z]*')

+--inv UpperCaseName : name = name.toUpperCase()

+

+context xtext::TerminalRule

+--inv AA: true

+inv UpperName : name = name.toUpperCase()

+ 

+endpackage
\ No newline at end of file
diff --git a/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/XtextTestFile.xtext b/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/XtextTestFile.xtext
new file mode 100644
index 0000000..a4634ff
--- /dev/null
+++ b/examples/org.eclipse.ocl.examples.project.completeocltutorial/model/XtextTestFile.xtext
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+grammar org.eclipse.xtext.example.arithmetics.Arithmetics with org.eclipse.xtext.common.Terminals
+
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+generate arithmetics "http://www.eclipse.org/Xtext/example/Arithmetics"
+
+Module:
+	'module' name=ID
+	(imports+=Import)*
+	(statements+=Statement)*;
+
+Import:
+	'import' importedNamespace=ImportName;
+
+ImportName:
+	ID ('.' '*')?;
+
+Statement:
+	Definition | Evaluation;
+
+Definition:
+	'def' name=ID ('(' args+=DeclaredParameter (',' args+=DeclaredParameter)* ')')?
+	':' expr=Expression ';';
+
+DeclaredParameter:
+	name=ID;
+
+AbstractDefinition:
+	Definition | DeclaredParameter;
+
+Evaluation:
+	expression=Expression ';';
+
+Expression:
+	Addition;
+
+Addition returns Expression:
+	Multiplication (({Plus.left=current} '+' | {Minus.left=current} '-') right=Multiplication)*;
+
+Multiplication returns Expression:
+	PrimaryExpression (({Multi.left=current} '*' | {Div.left=current} '/') right=PrimaryExpression)*;
+
+PrimaryExpression returns Expression:
+	'(' Expression ')' |
+	{NumberLiteral} value=NUMBER |
+	{FunctionCall} func=[AbstractDefinition] ('(' args+=Expression (',' args+=Expression)* ')')?;
+
+terminal NUMBER returns ecore::EBigDecimal:
+	('0'..'9')* ('.' ('0'..'9')+)?;
+
+terminal INT returns ecore::EInt:
+	'this one has been deactivated';