Search in sources :

Example 1 with Entity

use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.

the class SerializerPerformanceTest method setup.

@Before
public void setup() {
    try {
        StringConcatenation _builder = new StringConcatenation();
        _builder.append("entities");
        _builder.newLine();
        {
            ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, SerializerPerformanceTest.numberOfElements, true);
            for (final Integer i : _doubleDotLessThan) {
                _builder.append("\t");
                _builder.append("//comment before element");
                _builder.newLine();
                _builder.append("\t");
                _builder.append("Foo /* comment between elements*/ \"Bar\" //comment after element ");
                _builder.newLine();
            }
        }
        _builder.append("end");
        _builder.newLine();
        this.model = this._parseHelper.parse(_builder);
        final EList<Entity> entities = this.model.getDomainModel().getEntities();
        final Function1<Integer, Boolean> _function = (Integer it) -> {
            return Boolean.valueOf((((it).intValue() % SerializerPerformanceTest.editEvery) == 0));
        };
        final Function1<Integer, Entity> _function_1 = (Integer it) -> {
            return entities.get((it).intValue());
        };
        final Iterable<Entity> removeUs = IterableExtensions.<Integer, Entity>map(IterableExtensions.<Integer>filter(new ExclusiveRange(0, SerializerPerformanceTest.numberOfElements, true), _function), _function_1);
        CollectionExtensions.<Entity>removeAll(entities, removeUs);
    } catch (Throwable _e) {
        throw Exceptions.sneakyThrow(_e);
    }
}
Also used : Entity(org.eclipse.xtext.serializer.hiddentokensequencertest.Entity) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) ExclusiveRange(org.eclipse.xtext.xbase.lib.ExclusiveRange) Before(org.junit.Before)

Example 2 with Entity

use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.

the class HiddenTokenSequencerTestLanguageSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == HiddentokensequencertestPackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case HiddentokensequencertestPackage.DOMAIN_MODEL:
                sequence_DomainModel(context, (DomainModel) semanticObject);
                return;
            case HiddentokensequencertestPackage.ENTITY:
                sequence_Entity(context, (Entity) semanticObject);
                return;
            case HiddentokensequencertestPackage.MODEL:
                sequence_Model(context, (Model) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) Entity(org.eclipse.xtext.serializer.hiddentokensequencertest.Entity) Action(org.eclipse.xtext.Action) DomainModel(org.eclipse.xtext.serializer.hiddentokensequencertest.DomainModel) Model(org.eclipse.xtext.serializer.hiddentokensequencertest.Model) DomainModel(org.eclipse.xtext.serializer.hiddentokensequencertest.DomainModel) Parameter(org.eclipse.xtext.Parameter) EPackage(org.eclipse.emf.ecore.EPackage)

Example 3 with Entity

use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.

the class SerializationAfterModelChangeTest method testAddElementAfterInlineComment.

@Test
public void testAddElementAfterInlineComment() throws Exception {
    Model model = parseHelper.parse("entities\n" + "	Foo \"Bar\"	//inline comment before inserted element\n" + "end\n");
    Entity event = HiddentokensequencertestFactory.eINSTANCE.createEntity();
    event.setName("Baz");
    event.setDescription("Fizzle");
    model.getDomainModel().getEntities().add(event);
    assertSerializesTo(model, "entities\n" + "	Foo \"Bar\"	//inline comment before inserted element\n" + "Baz \"Fizzle\" end");
}
Also used : Entity(org.eclipse.xtext.serializer.hiddentokensequencertest.Entity) Model(org.eclipse.xtext.serializer.hiddentokensequencertest.Model) Test(org.junit.Test)

Example 4 with Entity

use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.

the class SerializationAfterModelChangeTest method smokeTest.

@Test
public void smokeTest() throws Exception {
    Model model = parseHelper.parse("entities\n" + "	//before existing element\n" + "	Foo /* within existing element */ \"Bar\" /* after existing element*/\n" + "	\n" + "	//unrelated comment\n" + "	\n" + "	//before deleted element\n" + "	Baz \"Fizzle\" /* after deleted element */\n" + "	\n" + "	//between deleted elements\n" + "	\n" + "	//another deleted element\n" + "	Blurb /* a comment within a deleted element */ \"Bla\"\n" + "	\n" + "	//before inserted element\n" + "end\n");
    Entity event = HiddentokensequencertestFactory.eINSTANCE.createEntity();
    event.setName("AAA");
    event.setDescription("BBB");
    model.getDomainModel().getEntities().remove(1);
    model.getDomainModel().getEntities().remove(1);
    model.getDomainModel().getEntities().add(event);
    assertSerializesTo(model, "entities\n" + "	//before existing element\n" + "	Foo /* within existing element */ \"Bar\" /* after existing element*/\n" + "	\n" + "	//unrelated comment\n" + "	\n" + "	\n" + "	\n" + "	//between deleted elements\n" + "	\n" + "	\n" + "	\n" + "	//before inserted element\n" + "AAA \"BBB\" end");
}
Also used : Entity(org.eclipse.xtext.serializer.hiddentokensequencertest.Entity) Model(org.eclipse.xtext.serializer.hiddentokensequencertest.Model) Test(org.junit.Test)

Example 5 with Entity

use of org.eclipse.xtext.serializer.hiddentokensequencertest.Entity in project xtext-core by eclipse.

the class SerializationAfterModelChangeTest method testMoveElement.

/**
 * TODO does not work yet, because HiddenTokenSequencer always searches in
 * one direction, but the order of the elements has changed here.
 */
@Test
@Ignore
public void testMoveElement() throws Exception {
    Model model = parseHelper.parse("entities\n" + "	Foo \"Bar\"\n" + "\n	//comment between elements\n" + "	\n" + "	Baz \"Fizzle\"\n" + "end\n");
    Entity head = Iterables.getFirst(model.getDomainModel().getEntities(), null);
    model.getDomainModel().getEntities().move(1, head);
    assertSerializesTo(model, "entities\n" + "	Baz \"Fizzle\"\n" + "\n	//comment between elements\n" + "	\n" + "	Foo \"Bar\"\n" + "end\n");
}
Also used : Entity(org.eclipse.xtext.serializer.hiddentokensequencertest.Entity) Model(org.eclipse.xtext.serializer.hiddentokensequencertest.Model) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

Entity (org.eclipse.xtext.serializer.hiddentokensequencertest.Entity)8 Model (org.eclipse.xtext.serializer.hiddentokensequencertest.Model)7 Test (org.junit.Test)6 EPackage (org.eclipse.emf.ecore.EPackage)1 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 DomainModel (org.eclipse.xtext.serializer.hiddentokensequencertest.DomainModel)1 ExclusiveRange (org.eclipse.xtext.xbase.lib.ExclusiveRange)1 Before (org.junit.Before)1 Ignore (org.junit.Ignore)1