/** * Copyright (c) 2012 BMW Car IT 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 */ package org.jnario.suite.unit; import com.google.inject.Inject; import java.util.List; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.xbase.lib.Conversions; import org.eclipse.xtext.xbase.lib.Extension; import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.ListExtensions; import org.jnario.jnario.test.util.ModelStore; import org.jnario.jnario.test.util.SuiteTestCreator; import org.jnario.runner.Contains; import org.jnario.runner.CreateWith; import org.jnario.runner.ExampleGroupRunner; import org.jnario.runner.Named; import org.jnario.suite.suite.Suite; import org.jnario.suite.suite.SuiteFactory; import org.jnario.suite.unit.SuiteNodeBuilderLevelSpec; import org.jnario.suite.unit.SuiteNodeBuilderParentSpec; import org.junit.runner.RunWith; @Contains({ SuiteNodeBuilderParentSpec.class, SuiteNodeBuilderLevelSpec.class }) @CreateWith(SuiteTestCreator.class) @Named("SuiteNodeBuilder") @RunWith(ExampleGroupRunner.class) @SuppressWarnings("all") public class SuiteNodeBuilderSpec { @Inject @Extension @org.jnario.runner.Extension public ModelStore m; public Resource parseSuite(final CharSequence s) { Resource _xblockexpression = null; { StringConcatenation _builder = new StringConcatenation(); _builder.append("package test"); _builder.newLine(); _builder.newLine(); _builder.append(s, ""); _builder.newLineIfNotEmpty(); final String input = _builder.toString(); _xblockexpression = this.m.parseSuite(input); } return _xblockexpression; } public List<Suite> suites(final String... names) { final Function1<String, Suite> _function = new Function1<String, Suite>() { public Suite apply(final String it) { return SuiteNodeBuilderSpec.this.suite(it); } }; return ListExtensions.<String, Suite>map(((List<String>)Conversions.doWrapArray(names)), _function); } public Suite suite(final String name) { Suite _xblockexpression = null; { final Suite suite = SuiteFactory.eINSTANCE.createSuite(); suite.setName(name); _xblockexpression = suite; } return _xblockexpression; } }