Adding common JUnit infrastructure.
diff --git a/com.google.eclipse.protobuf.junit/src/com/google/eclipse/protobuf/junit/XtextRule.java b/com.google.eclipse.protobuf.junit/src/com/google/eclipse/protobuf/junit/XtextRule.java index 35c78f4..c33160c 100644 --- a/com.google.eclipse.protobuf.junit/src/com/google/eclipse/protobuf/junit/XtextRule.java +++ b/com.google.eclipse.protobuf.junit/src/com/google/eclipse/protobuf/junit/XtextRule.java
@@ -22,7 +22,7 @@ import com.google.inject.Injector; /** - * Understands SOMETHING DUMMY. + * Xtext rule that performs basic configuration of an Xtext environment. * * @author alruiz@google.com (Alex Ruiz) */
diff --git a/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF index 308f6c5..9e92650 100644 --- a/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF +++ b/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF
@@ -10,4 +10,5 @@ org.junit.source;bundle-version="4.8.1", org.eclipse.xtext.junit;bundle-version="2.0.0", org.eclipse.xtext.junit4;bundle-version="2.0.0", - org.eclipse.xtext.ui.junit;bundle-version="2.0.0" + org.eclipse.xtext.ui.junit;bundle-version="2.0.0", + com.google.eclipse.protobuf.junit;bundle-version="1.0.0"
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Literals_calculateIndexOf_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Literals_calculateIndexOf_Test.java index 0473781..43eb726 100644 --- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Literals_calculateIndexOf_Test.java +++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Literals_calculateIndexOf_Test.java
@@ -12,19 +12,13 @@ import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; -import java.io.InputStreamReader; import java.util.List; -import org.eclipse.xtext.parser.IParseResult; -import org.eclipse.xtext.util.StringInputStream; -import org.junit.Before; -import org.junit.Test; +import org.junit.*; -import com.google.eclipse.protobuf.ProtobufStandaloneSetup; -import com.google.eclipse.protobuf.parser.antlr.ProtobufParser; +import com.google.eclipse.protobuf.junit.XtextRule; import com.google.eclipse.protobuf.protobuf.*; import com.google.eclipse.protobuf.protobuf.Enum; -import com.google.inject.Injector; /** * Tests for <code>{@link Literals#calculateIndexOf(Literal)}</code>. @@ -33,25 +27,25 @@ */ public class Literals_calculateIndexOf_Test { - private Injector injector; + @Rule public XtextRule xtext = new XtextRule(); + private Literals literals; - + @Before public void setUp() { - injector = new ProtobufStandaloneSetup().createInjectorAndDoEMFRegistration(); - literals = injector.getInstance(Literals.class); + literals = xtext.getInstanceOf(Literals.class); } - + @Test public void should_return_zero_for_first_and_only_literal() { StringBuilder proto = new StringBuilder(); proto.append("enum PhoneType {"); proto.append(" MOBILE = 0; "); proto.append("} "); - Protobuf root = parse(proto.toString()); + Protobuf root = xtext.parse(proto.toString()); Literal firstLiteral = allLiteralsInFirstEnum(root).get(0); int index = literals.calculateIndexOf(firstLiteral); assertThat(index, equalTo(0)); } - + @Test public void should_return_max_index_value_plus_one_for_new_literal() { StringBuilder proto = new StringBuilder(); proto.append("enum PhoneType {"); @@ -59,18 +53,12 @@ proto.append(" HOME = 1; "); proto.append(" WORK = 2; "); proto.append("} "); - Protobuf root = parse(proto.toString()); + Protobuf root = xtext.parse(proto.toString()); Literal lastLiteral = allLiteralsInFirstEnum(root).get(2); int index = literals.calculateIndexOf(lastLiteral); assertThat(index, equalTo(2)); } - private Protobuf parse(String text) { - ProtobufParser parser = injector.getInstance(ProtobufParser.class); - IParseResult parseResult = parser.parse(new InputStreamReader(new StringInputStream(text))); - return (Protobuf) parseResult.getRootASTElement(); - } - private List<Literal> allLiteralsInFirstEnum(Protobuf root) { List<Enum> allEnums = getAllContentsOfType(root, Enum.class); return allEnums.get(0).getLiterals();