Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » ValidateTestHelper.asserError arguments
ValidateTestHelper.asserError arguments [message #1753312] Fri, 03 February 2017 16:58 Go to next message
Greg Lusk is currently offline Greg LuskFriend
Messages: 4
Registered: February 2017
Junior Member
I am fairly new to Xtext, and am trying to write a unit test to assert that an error occurs in deliberately bad syntax. I'm not exactly sure how to pass the second (EClass) argument to the function call. Can anyone post an example and explain how to specify a value for this argument?

Thanks
Re: ValidateTestHelper.asserError arguments [message #1753560 is a reply to message #1753312] Tue, 07 February 2017 17:34 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 10538
Registered: July 2009
Senior Member
Can you be more specific about the kind of error / validation you want to test
Re: ValidateTestHelper.asserError arguments [message #1753648 is a reply to message #1753312] Wed, 08 February 2017 13:15 Go to previous message
Jan Koehnlein is currently offline Jan KoehnleinFriend
Messages: 736
Registered: July 2009
Location: Hamburg
Senior Member
In Xtext, an EClass is the type of an element in your AST. The 'E' stands for Ecore, which offers a bit higher-level description of types than Java.
If you use a generated Ecore model (that's the default), the EClasses are defined by the rules in your grammar, e.g.

grammar ...

generate myEcore "http:..." // will result in an EPackage 'myEcore'

Foo: // will result in an EClass 'Foo'
'foo' name=ID; // will result in an EAttribute 'name'

Will result in an EClass 'Foo' with and EAttribute 'name' of type 'EString'.
Once you run the workflow, the code generator will derive an Ecore model with the EClasses from your grammar. Then it will run the EMF code generator to generate Java classes from the Ecore model.

If you need to access an EClass, e.g. to pass it to the ValidationTestHelper, you find it as a singleton in the generated EPackage class. In our case
MyEcorePackage.eINSTANCE.getFoo()
or
MyEcorePackage.Literals.FOO
If you have an element of the AST in your hands, use
myObject.eClass()
Previous Topic:Mutliline string concatenation
Next Topic:Cross Reference handling in Inferrer
Goto Forum:
  


Current Time: Wed May 24 17:55:04 GMT 2017

Powered by FUDForum. Page generated in 0.02224 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software