Code cleanup.
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
index ba4bd84..1812287 100644
--- a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
+++ b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
@@ -12,8 +12,7 @@
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static com.google.eclipse.protobuf.junit.matchers.PropertyHasType.*;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.notNullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import java.util.*;
@@ -49,7 +48,7 @@
assertThat(options.option("java_outer_classname"), isString());
assertThat(options.option("java_multiple_files"), isBool());
assertThat(options.option("java_generate_equals_and_hash"), isBool());
- assertThat(options.option("optimize_for"), notNullValue());
+ assertNotNull(options.option("optimize_for"));
assertThat(options.option("cc_generic_services"), isBool());
assertThat(options.option("java_generic_services"), isBool());
assertThat(options.option("py_generic_services"), isBool());
@@ -65,7 +64,7 @@
@Test public void should_return_all_field_options() {
Property optionContainer = mock(Property.class);
options.mapByName(descriptor.availableOptionsFor(optionContainer));
- assertThat(options.option("ctype"), notNullValue());
+ assertNotNull(options.option("ctype"));
assertThat(options.option("packed"), isBool());
assertThat(options.option("deprecated"), isBool());
assertThat(options.option("experimental_map_key"), isString());
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
index 01f84f8..68c1e30 100644
--- a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
+++ b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
@@ -12,8 +12,7 @@
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static com.google.eclipse.protobuf.scoping.OptionType.FILE;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
import org.junit.*;
@@ -44,6 +43,6 @@
}
@Test public void should_return_null_if_property_is_null() {
- assertThat(descriptor.enumTypeOf(null), nullValue());
+ assertNull(descriptor.enumTypeOf(null));
}
}
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue91_AddSupportForUTF16Strings_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue91_AddSupportForUTF16Strings_Test.java
index b694cbe..d08e795 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue91_AddSupportForUTF16Strings_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue91_AddSupportForUTF16Strings_Test.java
@@ -10,14 +10,13 @@
import static com.google.eclipse.protobuf.junit.core.Setups.unitTestSetup;
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
-import static org.hamcrest.core.IsNull.notNullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.*;
import com.google.eclipse.protobuf.junit.core.XtextRule;
import com.google.eclipse.protobuf.protobuf.Protobuf;
-import org.junit.*;
-
/**
* Tests fix for <a href="http://code.google.com/p/protobuf-dt/issues/detail?id=91">Issue 91</a>.
*
@@ -37,6 +36,6 @@
// optional string bar = 1 [default="\\302\\265"];
// }
@Test public void should_recognize_UTF16_strings() {
- assertThat(root, notNullValue());
+ assertNotNull(root);
}
}
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_enumTypeOf_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_enumTypeOf_Test.java
index e4651ce..c699f5d 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_enumTypeOf_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_enumTypeOf_Test.java
@@ -11,15 +11,14 @@
import static com.google.eclipse.protobuf.junit.core.Setups.unitTestSetup;
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
+
+import org.junit.*;
import com.google.eclipse.protobuf.junit.core.XtextRule;
import com.google.eclipse.protobuf.protobuf.*;
import com.google.eclipse.protobuf.protobuf.Enum;
-import org.junit.*;
-
/**
* Tests for <code>{@link ModelFinder#enumTypeOf(Property)}</code>.
*
@@ -55,7 +54,6 @@
// }
@Test public void should_return_null_if_property_type_is_not_enum() {
Property name = xtext.find("name", Property.class);
- Enum anEnum = finder.enumTypeOf(name);
- assertThat(anEnum, nullValue());
+ assertNull(finder.enumTypeOf(name));
}
}
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_packageOf_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_packageOf_Test.java
index 668d3d7..6dc128f 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_packageOf_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_packageOf_Test.java
@@ -11,16 +11,15 @@
import static com.google.eclipse.protobuf.junit.core.Setups.unitTestSetup;
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.junit.*;
import com.google.eclipse.protobuf.junit.core.XtextRule;
import com.google.eclipse.protobuf.protobuf.*;
import com.google.eclipse.protobuf.protobuf.Package;
-import org.eclipse.emf.ecore.EObject;
-import org.junit.*;
-
/**
* Tests for <code>{@link ModelFinder#packageOf(EObject)}</code>.
*
@@ -52,7 +51,6 @@
// }
@Test public void should_return_null_if_proto_does_not_have_package() {
Property id = xtext.find("id", Property.class);
- Package aPackage = finder.packageOf(id);
- assertThat(aPackage, nullValue());
+ assertNull(finder.packageOf(id));
}
}
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_scalarTypeOf_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_scalarTypeOf_Test.java
index 4e33278..a021e26 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_scalarTypeOf_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_scalarTypeOf_Test.java
@@ -11,14 +11,13 @@
import static com.google.eclipse.protobuf.junit.core.Setups.unitTestSetup;
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
+
+import org.junit.*;
import com.google.eclipse.protobuf.junit.core.XtextRule;
import com.google.eclipse.protobuf.protobuf.*;
-import org.junit.*;
-
/**
* Tests for <code>{@link ModelFinder#scalarTypeOf(Property)}</code>.
*
@@ -54,7 +53,6 @@
// }
@Test public void should_return_null_if_property_type_is_not_scalar() {
Property type = xtext.find("type", Property.class);
- ScalarType scalar = finder.scalarTypeOf(type);
- assertThat(scalar, nullValue());
+ assertNull(finder.scalarTypeOf(type));
}
}
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
index 015dda5..9639d8f 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
@@ -9,8 +9,7 @@
package com.google.eclipse.protobuf.ui.builder;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
import static org.junit.rules.ExpectedException.none;
import org.junit.*;
@@ -32,11 +31,11 @@
@Rule public ExpectedException thrown = none();
@Test public void should_return_null_if_path_is_null() {
- assertThat(finder.findRootOf(null), nullValue());
+ assertNull(finder.findRootOf(null));
}
@Test public void should_return_null_if_path_is_empty() {
- assertThat(finder.findRootOf(""), nullValue());
+ assertNull(finder.findRootOf(""));
}
@Test public void should_throw_error_if_path_does_not_contain_descriptor_FQN() {
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/commands/CommentNodesFinder_matchingCommentNode_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/commands/CommentNodesFinder_matchingCommentNode_Test.java
index 56cb222..6db1908 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/commands/CommentNodesFinder_matchingCommentNode_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/commands/CommentNodesFinder_matchingCommentNode_Test.java
@@ -11,18 +11,17 @@
import static com.google.eclipse.protobuf.junit.core.Setups.unitTestSetup;
import static com.google.eclipse.protobuf.junit.core.XtextRule.createWith;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.hamcrest.core.IsNull.*;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
-import com.google.eclipse.protobuf.junit.core.XtextRule;
-import com.google.eclipse.protobuf.protobuf.*;
+import java.util.regex.Matcher;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.util.Pair;
import org.junit.*;
-import java.util.regex.Matcher;
+import com.google.eclipse.protobuf.junit.core.XtextRule;
+import com.google.eclipse.protobuf.protobuf.Property;
/**
* Tests for <code>{@link CommentNodesFinder#matchingCommentNode(EObject, String...)}</code>.
@@ -59,8 +58,7 @@
@Test public void should_return_matching_multi_line_comment_of_element() {
Property active = xtext.find("active", Property.class);
Pair<INode, Matcher> match = finder.matchingCommentNode(active, "NEXT ID: [\\d]+");
- INode node = match.getFirst();
- assertThat(node, notNullValue());
+ assertNotNull(match.getFirst());
}
// message Person {
@@ -70,6 +68,6 @@
@Test public void should_return_null_if_no_matching_node_found() {
Property active = xtext.find("active", Property.class);
Pair<INode, Matcher> match = finder.matchingCommentNode(active, "Hello");
- assertThat(match, nullValue());
+ assertNull(match);
}
}
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver_resolveUri_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver_resolveUri_Test.java
index 737370f..7ca5aff 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver_resolveUri_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver_resolveUri_Test.java
@@ -10,7 +10,7 @@
import static org.eclipse.emf.common.util.URI.createURI;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.*;
@@ -44,20 +44,30 @@
}
@Test public void should_resolve_import_URI_if_missing_scheme() {
- when(resources.fileExists(any(URI.class))).thenReturn(true);
+ expectResolvedPathToBelongToExistingFile();
String resolved = resolver.resolveUri("folder1/address.proto", resourceUri, preferences);
assertThat(resolved, equalTo("platform:/resource/src/proto/folder1/address.proto"));
}
- @Test public void should_resolve_import_URI_even_if_overlapping_folders_with_resource_URI() {
- when(resources.fileExists(any(URI.class))).thenReturn(true);
+ @Test public void should_resolve_import_URI_when_overlapping_folders_with_resource_URI() {
+ expectResolvedPathToBelongToExistingFile();
String resolved = resolver.resolveUri("src/proto/folder1/address.proto", resourceUri, preferences);
assertThat(resolved, equalTo("platform:/resource/src/proto/folder1/address.proto"));
}
- @Test public void should_resolve_import_URI_even_if_overlapping_one_folder_only_with_resource_URI() {
- when(resources.fileExists(any(URI.class))).thenReturn(true);
+ @Test public void should_resolve_import_URI_when_overlapping_one_folder_only_with_resource_URI() {
+ expectResolvedPathToBelongToExistingFile();
String resolved = resolver.resolveUri("src/proto/read-only/address.proto", resourceUri, preferences);
assertThat(resolved, equalTo("platform:/resource/src/proto/read-only/address.proto"));
}
+
+ private void expectResolvedPathToBelongToExistingFile() {
+ when(resources.fileExists(any(URI.class))).thenReturn(true);
+ }
+
+ @Test public void should_return_null_if_URI_cannot_be_resolved() {
+ when(resources.fileExists(any(URI.class))).thenReturn(false);
+ String resolved = resolver.resolveUri("src/proto/read-only/person.proto", resourceUri, preferences);
+ assertNull(resolved);
+ }
}
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver.java
index 95124f5..163188d 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/SingleDirectoryFileResolver.java
@@ -9,12 +9,10 @@
package com.google.eclipse.protobuf.ui.scoping;
import static org.eclipse.emf.common.util.URI.createURI;
-import static org.eclipse.xtext.util.Tuples.pair;
import java.util.*;
import org.eclipse.emf.common.util.URI;
-import org.eclipse.xtext.util.Pair;
import com.google.eclipse.protobuf.ui.preferences.pages.paths.PathsPreferences;
import com.google.eclipse.protobuf.ui.util.Resources;
@@ -31,29 +29,39 @@
}
@Override public String resolveUri(String importUri, URI declaringResourceUri, PathsPreferences preferences) {
- List<String> resourceUriSegments = removeFirstAndLast(declaringResourceUri.segmentsList());
- Pair<String, List<String>> importUriPair = pair(importUri, createURI(importUri).segmentsList());
- return resolveUri(importUriPair, resourceUriSegments);
+ return resolveUri(createURI(importUri), declaringResourceUri);
}
- // first is always "platform" and last is the file name (both unnecessary)
- private static List<String> removeFirstAndLast(List<String> list) {
- if (list.isEmpty()) return list;
- List<String> newList = new ArrayList<String>(list);
- newList.remove(0);
- newList.remove(newList.size() - 1);
- return newList;
- }
-
- private String resolveUri(Pair<String, List<String>> importUri, List<String> resourceUri) {
+ private String resolveUri(URI importUri, URI declaringResourceUri) {
StringBuilder pathBuilder = new StringBuilder();
- String firstSegment = importUri.getSecond().get(0);
- for (String segment : resourceUri) {
+ String firstSegment = importUri.segments()[0];
+ for (String segment : removeFirstAndLast(declaringResourceUri)) {
if (segment.equals(firstSegment)) break;
pathBuilder.append(segment).append(SEPARATOR);
}
- String resolved = PLATFORM_RESOURCE_PREFIX + SEPARATOR + pathBuilder.toString() + importUri.getFirst();
- return (resources.fileExists(createURI(resolved))) ? resolved : null;
+ String resolved = createResolvedUri(pathBuilder.toString(), importUri);
+ return fileExists(resolved) ? resolved : null;
}
+ private String createResolvedUri(String path, URI importUri) {
+ StringBuilder uriBuilder = new StringBuilder();
+ return uriBuilder.append(PLATFORM_RESOURCE_PREFIX)
+ .append(SEPARATOR)
+ .append(path)
+ .append(importUri.toString())
+ .toString();
+ }
+
+ private boolean fileExists(String uri) {
+ return resources.fileExists(createURI(uri));
+ }
+
+ // first is always "platform" and last is the file name (both unnecessary)
+ private static List<String> removeFirstAndLast(URI declaringResourceUri) {
+ List<String> segments = new ArrayList<String>(declaringResourceUri.segmentsList());
+ if (segments.isEmpty()) return segments;
+ segments.remove(0);
+ segments.remove(segments.size() - 1);
+ return segments;
+ }
}