/** * 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 org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.naming.QualifiedName; import org.eclipse.xtext.xbase.lib.Extension; import org.jnario.jnario.test.util.ModelStore; import org.jnario.jnario.test.util.SuiteTestCreator; import org.jnario.lib.Assert; import org.jnario.lib.Should; import org.jnario.runner.CreateWith; import org.jnario.runner.ExampleGroupRunner; import org.jnario.runner.Named; import org.jnario.runner.Order; import org.jnario.runner.Subject; import org.jnario.suite.naming.SuiteQualifiedNameProvider; import org.jnario.suite.suite.Suite; import org.junit.Test; import org.junit.runner.RunWith; @CreateWith(SuiteTestCreator.class) @Named("SuiteQualifiedNameProvider") @RunWith(ExampleGroupRunner.class) @SuppressWarnings("all") public class SuiteQualifiedNameProviderSpec { @Subject public SuiteQualifiedNameProvider subject; @Inject @Extension @org.jnario.runner.Extension public ModelStore _modelStore; @Test @Named("removes suite prefix") @Order(1) public void _removesSuitePrefix() throws Exception { StringConcatenation _builder = new StringConcatenation(); _builder.append("#My Suite"); this._modelStore.parseSuite(_builder); String _qualifiedName = this.qualifiedName(); Assert.assertTrue("\nExpected qualifiedName => \"My Suite\" but" + "\n qualifiedName is " + new org.hamcrest.StringDescription().appendValue(_qualifiedName).toString() + "\n", Should.<String>operator_doubleArrow(_qualifiedName, "My Suite")); } @Test @Named("removes suite trailing text") @Order(2) public void _removesSuiteTrailingText() throws Exception { StringConcatenation _builder = new StringConcatenation(); _builder.append("#My Suite"); _builder.newLine(); _builder.append("with description"); this._modelStore.parseSuite(_builder); String _qualifiedName = this.qualifiedName(); Assert.assertTrue("\nExpected qualifiedName => \"My Suite\" but" + "\n qualifiedName is " + new org.hamcrest.StringDescription().appendValue(_qualifiedName).toString() + "\n", Should.<String>operator_doubleArrow(_qualifiedName, "My Suite")); } @Test @Named("add suite package") @Order(3) public void _addSuitePackage() throws Exception { StringConcatenation _builder = new StringConcatenation(); _builder.append("package test"); _builder.newLine(); _builder.append("#My Suite"); this._modelStore.parseSuite(_builder); String _qualifiedName = this.qualifiedName(); Assert.assertTrue("\nExpected qualifiedName => \"test.My Suite\" but" + "\n qualifiedName is " + new org.hamcrest.StringDescription().appendValue(_qualifiedName).toString() + "\n", Should.<String>operator_doubleArrow(_qualifiedName, "test.My Suite")); } @Test @Named("handles empty packages") @Order(4) public void _handlesEmptyPackages() throws Exception { StringConcatenation _builder = new StringConcatenation(); _builder.append("#My Suite"); this._modelStore.parseSuite(_builder); String _qualifiedName = this.qualifiedName(); Assert.assertTrue("\nExpected qualifiedName => \"My Suite\" but" + "\n qualifiedName is " + new org.hamcrest.StringDescription().appendValue(_qualifiedName).toString() + "\n", Should.<String>operator_doubleArrow(_qualifiedName, "My Suite")); } @Test @Named("handles empty suites") @Order(5) public void _handlesEmptySuites() throws Exception { StringConcatenation _builder = new StringConcatenation(); _builder.append("#"); _builder.newLine(); this._modelStore.parseSuite(_builder); String _qualifiedName = this.qualifiedName(); Assert.assertNull("\nExpected qualifiedName should be null\n but is " + new org.hamcrest.StringDescription().appendValue(_qualifiedName).toString() + "\n", _qualifiedName); } public String qualifiedName() { Suite _firstSuite = this._modelStore.firstSuite(); QualifiedName _fullyQualifiedName = this.subject.getFullyQualifiedName(_firstSuite); String _string = null; if (_fullyQualifiedName!=null) { _string=_fullyQualifiedName.toString(); } return _string; } }