/**
* 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.Arrays;
import java.util.List;
import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import org.jnario.lib.Assert;
import org.jnario.lib.ExampleTable;
import org.jnario.lib.ExampleTableIterators;
import org.jnario.lib.Should;
import org.jnario.runner.ExampleGroupRunner;
import org.jnario.runner.Named;
import org.jnario.runner.Order;
import org.jnario.suite.jvmmodel.SuiteNodeBuilder;
import org.jnario.suite.suite.Suite;
import org.jnario.suite.unit.SuiteNodeBuilderParentSpecExamples;
import org.jnario.suite.unit.SuiteNodeBuilderSpec;
import org.junit.Test;
import org.junit.runner.RunWith;
@Named("parent")
@RunWith(ExampleGroupRunner.class)
@SuppressWarnings("all")
public class SuiteNodeBuilderParentSpec extends SuiteNodeBuilderSpec {
@Inject
@Extension
@org.jnario.runner.Extension
public SuiteNodeBuilder _suiteNodeBuilder;
public ExampleTable<SuiteNodeBuilderParentSpecExamples> _initSuiteNodeBuilderParentSpecExamples() {
return ExampleTable.create("examples",
Arrays.asList("suites", "position", "parent"),
new SuiteNodeBuilderParentSpecExamples( Arrays.asList("suites(\"#0\", \"#1\")", "0", "null"), _initSuiteNodeBuilderParentSpecExamplesCell0(), _initSuiteNodeBuilderParentSpecExamplesCell1(), null),
new SuiteNodeBuilderParentSpecExamples( Arrays.asList("suites(\"#0\", \"##1\")", "1", "\"#0\""), _initSuiteNodeBuilderParentSpecExamplesCell3(), _initSuiteNodeBuilderParentSpecExamplesCell4(), _initSuiteNodeBuilderParentSpecExamplesCell5()),
new SuiteNodeBuilderParentSpecExamples( Arrays.asList("suites(\"#0\", \"###1\")", "1", "\"#0\""), _initSuiteNodeBuilderParentSpecExamplesCell6(), _initSuiteNodeBuilderParentSpecExamplesCell7(), _initSuiteNodeBuilderParentSpecExamplesCell8()),
new SuiteNodeBuilderParentSpecExamples( Arrays.asList("suites(\"#0\", \"#1\", \"###2\")", "2", "\"#1\""), _initSuiteNodeBuilderParentSpecExamplesCell9(), _initSuiteNodeBuilderParentSpecExamplesCell10(), _initSuiteNodeBuilderParentSpecExamplesCell11())
);
}
protected ExampleTable<SuiteNodeBuilderParentSpecExamples> examples = _initSuiteNodeBuilderParentSpecExamples();
public List<Suite> _initSuiteNodeBuilderParentSpecExamplesCell0() {
List<Suite> _suites = this.suites("#0", "#1");
return _suites;
}
public int _initSuiteNodeBuilderParentSpecExamplesCell1() {
return 0;
}
public Object _initSuiteNodeBuilderParentSpecExamplesCell2() {
return null;
}
public List<Suite> _initSuiteNodeBuilderParentSpecExamplesCell3() {
List<Suite> _suites = this.suites("#0", "##1");
return _suites;
}
public int _initSuiteNodeBuilderParentSpecExamplesCell4() {
return 1;
}
public String _initSuiteNodeBuilderParentSpecExamplesCell5() {
return "#0";
}
public List<Suite> _initSuiteNodeBuilderParentSpecExamplesCell6() {
List<Suite> _suites = this.suites("#0", "###1");
return _suites;
}
public int _initSuiteNodeBuilderParentSpecExamplesCell7() {
return 1;
}
public String _initSuiteNodeBuilderParentSpecExamplesCell8() {
return "#0";
}
public List<Suite> _initSuiteNodeBuilderParentSpecExamplesCell9() {
List<Suite> _suites = this.suites("#0", "#1", "###2");
return _suites;
}
public int _initSuiteNodeBuilderParentSpecExamplesCell10() {
return 2;
}
public String _initSuiteNodeBuilderParentSpecExamplesCell11() {
return "#1";
}
@Test
@Named("parent is suite with less hashes")
@Order(1)
public void _parentIsSuiteWithLessHashes() throws Exception {
final Procedure1<SuiteNodeBuilderParentSpecExamples> _function = new Procedure1<SuiteNodeBuilderParentSpecExamples>() {
public void apply(final SuiteNodeBuilderParentSpecExamples it) {
List<Suite> _suites = it.getSuites();
int _position = it.getPosition();
Suite _parent = SuiteNodeBuilderParentSpec.this._suiteNodeBuilder.parent(_suites, _position);
String _name = null;
if (_parent!=null) {
_name=_parent.getName();
}
String _parent_1 = it.getParent();
Assert.assertTrue("\nExpected parent(suites, position)?.name should be parent but"
+ "\n parent(suites, position)?.name is " + new org.hamcrest.StringDescription().appendValue(_name).toString()
+ "\n parent(suites, position) is " + new org.hamcrest.StringDescription().appendValue(_parent).toString()
+ "\n suites is " + new org.hamcrest.StringDescription().appendValue(_suites).toString()
+ "\n position is " + new org.hamcrest.StringDescription().appendValue(_position).toString()
+ "\n parent is " + new org.hamcrest.StringDescription().appendValue(_parent_1).toString() + "\n", Should.<String>should_be(_name, _parent_1));
}
};
ExampleTableIterators.<SuiteNodeBuilderParentSpecExamples>forEach(this.examples, _function);
}
}