/** * 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.jnario.test.util; import org.eclipse.emf.common.util.EList; import org.eclipse.xtend.core.xtend.XtendTypeDeclaration; import org.eclipse.xtext.xbase.lib.CollectionExtensions; import org.jnario.Specification; import org.jnario.suite.suite.Reference; import org.jnario.suite.suite.SpecReference; import org.jnario.suite.suite.Suite; import org.jnario.suite.suite.SuiteFactory; import org.jnario.suite.suite.SuiteFile; @SuppressWarnings("all") public class Suites { private final static SuiteFactory factory = SuiteFactory.eINSTANCE; public static SuiteFile suiteFile(final Suite... suites) { final SuiteFile file = Suites.factory.createSuiteFile(); EList<XtendTypeDeclaration> _xtendTypes = file.getXtendTypes(); CollectionExtensions.<Suite>addAll(_xtendTypes, suites); return file; } public static Suite suiteWith(final String name, final SpecReference... references) { Suite _xblockexpression = null; { final Suite suite = Suites.suite(name); EList<Reference> _elements = suite.getElements(); CollectionExtensions.<SpecReference>addAll(_elements, references); _xblockexpression = suite; } return _xblockexpression; } public static Suite suite(final String name) { Suite _xblockexpression = null; { final Suite suite = Suites.factory.createSuite(); suite.setName(name); _xblockexpression = suite; } return _xblockexpression; } public static Suite suite(final String name, final String packageName) { Suite _xblockexpression = null; { final Suite suite = Suites.factory.createSuite(); suite.setName(name); final SuiteFile file = Suites.factory.createSuiteFile(); file.setPackage(packageName); EList<XtendTypeDeclaration> _xtendTypes = file.getXtendTypes(); _xtendTypes.add(suite); _xblockexpression = suite; } return _xblockexpression; } public static SpecReference specReference(final Specification spec) { SpecReference _xblockexpression = null; { final SpecReference result = Suites.factory.createSpecReference(); result.setSpec(spec); _xblockexpression = result; } return _xblockexpression; } }