Adding unit tests.
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 0472113..e56893c 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
@@ -8,17 +8,15 @@
  */
 package com.google.eclipse.protobuf.ui.util;
 
-import static org.eclipse.xtext.EcoreUtil2.getAllContentsOfType;
+import static com.google.eclipse.protobuf.ui.util.ProtobufElements.findLiteral;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.assertThat;
 
-import java.util.List;
-
 import org.junit.*;
 
 import com.google.eclipse.protobuf.junit.XtextRule;
-import com.google.eclipse.protobuf.protobuf.*;
-import com.google.eclipse.protobuf.protobuf.Enum;
+import com.google.eclipse.protobuf.protobuf.Literal;
+import com.google.eclipse.protobuf.protobuf.Protobuf;
 
 /**
  * Tests for <code>{@link Literals#calculateIndexOf(Literal)}</code>.
@@ -37,30 +35,25 @@
 
   @Test public void should_return_zero_for_first_and_only_literal() {
     StringBuilder proto = new StringBuilder();
-    proto.append("enum PhoneType {");
-    proto.append("  MOBILE = 1;   ");
-    proto.append("}               ");
+    proto.append("enum PhoneType {")
+         .append("  MOBILE = 1;   ")
+         .append("}               ");
     Protobuf root = xtext.parse(proto.toString());
-    Literal mobileLiteral = allLiteralsInFirstEnum(root).get(0);
-    int index = literals.calculateIndexOf(mobileLiteral);
+    Literal mobile = findLiteral("MOBILE", root);
+    int index = literals.calculateIndexOf(mobile);
     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 {");
-    proto.append("  MOBILE = 1;   ");
-    proto.append("  HOME = 5;     ");
-    proto.append("  WORK = 9;     ");
-    proto.append("}               ");
+    proto.append("enum PhoneType {")
+         .append("  MOBILE = 1;   ")
+         .append("  HOME = 5;     ")
+         .append("  WORK = 9;     ")
+         .append("}               ");
     Protobuf root = xtext.parse(proto.toString());
-    Literal workLiteral = allLiteralsInFirstEnum(root).get(2);
-    int index = literals.calculateIndexOf(workLiteral);
+    Literal work = findLiteral("WORK", root);
+    int index = literals.calculateIndexOf(work);
     assertThat(index, equalTo(6));
   }
-
-  private List<Literal> allLiteralsInFirstEnum(Protobuf root) {
-    List<Enum> allEnums = getAllContentsOfType(root, Enum.class);
-    return allEnums.get(0).getLiterals();
-  }
 }
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_calculateTagNumberOf_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_calculateTagNumberOf_Test.java
index b7ca338..6c8c05c 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_calculateTagNumberOf_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_calculateTagNumberOf_Test.java
@@ -8,16 +8,15 @@
  */
 package com.google.eclipse.protobuf.ui.util;
 
-import static org.eclipse.xtext.EcoreUtil2.getAllContentsOfType;
+import static com.google.eclipse.protobuf.ui.util.ProtobufElements.findProperty;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.assertThat;
 
-import java.util.List;
-
 import org.junit.*;
 
 import com.google.eclipse.protobuf.junit.XtextRule;
-import com.google.eclipse.protobuf.protobuf.*;
+import com.google.eclipse.protobuf.protobuf.Property;
+import com.google.eclipse.protobuf.protobuf.Protobuf;
 
 /**
  * Tests for <code>{@link Properties#calculateTagNumberOf(Property)}</code>.
@@ -36,29 +35,24 @@
 
   @Test public void should_return_one_for_first_and_only_property() {
     StringBuilder proto = new StringBuilder();
-    proto.append("message Person {           ");
-    proto.append("  required string name = 2;");
-    proto.append("}                          ");
+    proto.append("message Person {           ")
+         .append("  required string name = 2;")
+         .append("}                          ");
     Protobuf root = xtext.parse(proto.toString());
-    Property nameProperty = allPropertiesInFirstMessage(root).get(0);
-    int index = properties.calculateTagNumberOf(nameProperty);
+    Property name = findProperty("name", root);
+    int index = properties.calculateTagNumberOf(name);
     assertThat(index, equalTo(1));
   }
 
   @Test public void should_return_max_tag_number_value_plus_one_for_new_property() {
     StringBuilder proto = new StringBuilder();
-    proto.append("message Person {           ");
-    proto.append("  required string name = 6;");
-    proto.append("  required int32 id = 8;   ");
-    proto.append("}                          ");
+    proto.append("message Person {           ")
+         .append("  required string name = 6;")
+         .append("  required int32 id = 8;   ")
+         .append("}                          ");
     Protobuf root = xtext.parse(proto.toString());
-    Property idProperty = allPropertiesInFirstMessage(root).get(1);
-    int index = properties.calculateTagNumberOf(idProperty);
+    Property id = findProperty("id", root);
+    int index = properties.calculateTagNumberOf(id);
     assertThat(index, equalTo(7));
   }
-
-  private List<Property> allPropertiesInFirstMessage(Protobuf root) {
-    List<Message> messages = getAllContentsOfType(root, Message.class);
-    return getAllContentsOfType(messages.get(0), Property.class);
-  }
 }
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isBool_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isBool_Test.java
index 13d5e81..c859b75 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isBool_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isBool_Test.java
@@ -6,19 +6,17 @@
  *
  * http://www.eclipse.org/legal/epl-v10.html
  */
-
 package com.google.eclipse.protobuf.ui.util;
 
-import static org.eclipse.xtext.EcoreUtil2.getAllContentsOfType;
+import static com.google.eclipse.protobuf.ui.util.ProtobufElements.findProperty;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.assertThat;
 
-import java.util.List;
-
 import org.junit.*;
 
 import com.google.eclipse.protobuf.junit.XtextRule;
-import com.google.eclipse.protobuf.protobuf.*;
+import com.google.eclipse.protobuf.protobuf.Property;
+import com.google.eclipse.protobuf.protobuf.Protobuf;
 
 /**
  * Tests for <code>{@link Properties#isBool(Property)}</code>.
@@ -37,26 +35,21 @@
 
   @Test public void should_return_true_if_property_is_bool() {
     StringBuilder proto = new StringBuilder();
-    proto.append("message Person {           ");
-    proto.append("  optional bool active = 0;");
-    proto.append("}                          ");
+    proto.append("message Person {           ")
+         .append("  optional bool active = 1;")
+         .append("}                          ");
     Protobuf root = xtext.parse(proto.toString());
-    Property activeProperty = allPropertiesInFirstMessage(root).get(0);
-    assertThat(properties.isBool(activeProperty), equalTo(true));
+    Property active = findProperty("active", root);
+    assertThat(properties.isBool(active), equalTo(true));
   }
 
   @Test public void should_return_false_if_property_is_not_bool() {
     StringBuilder proto = new StringBuilder();
-    proto.append("message Person {           ");
-    proto.append("  optional string name = 0;");
-    proto.append("}                          ");
+    proto.append("message Person {           ")
+         .append("  optional string name = 1;")
+         .append("}                          ");
     Protobuf root = xtext.parse(proto.toString());
-    Property nameProperty = allPropertiesInFirstMessage(root).get(0);
-    assertThat(properties.isBool(nameProperty), equalTo(false));
-  }
-
-  private List<Property> allPropertiesInFirstMessage(Protobuf root) {
-    List<Message> messages = getAllContentsOfType(root, Message.class);
-    return getAllContentsOfType(messages.get(0), Property.class);
+    Property name = findProperty("name", root);
+    assertThat(properties.isBool(name), equalTo(false));
   }
 }
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isString_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isString_Test.java
new file mode 100644
index 0000000..dad29f4
--- /dev/null
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/Properties_isString_Test.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2011 Google Inc.
+ *
+ * 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 com.google.eclipse.protobuf.ui.util;
+
+import static com.google.eclipse.protobuf.ui.util.ProtobufElements.findProperty;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+import org.junit.*;
+
+import com.google.eclipse.protobuf.junit.XtextRule;
+import com.google.eclipse.protobuf.protobuf.Property;
+import com.google.eclipse.protobuf.protobuf.Protobuf;
+
+/**
+ * Tests for <code>{@link Properties#isString(Property)}</code>.
+ *
+ * @author alruiz@google.com (Alex Ruiz)
+ */
+public class Properties_isString_Test {
+
+  @Rule public XtextRule xtext = new XtextRule();
+
+  private Properties properties;
+
+  @Before public void setUp() {
+    properties = xtext.getInstanceOf(Properties.class);
+  }
+
+  @Test public void should_return_true_if_property_is_string() {
+    StringBuilder proto = new StringBuilder();
+    proto.append("message Person {           ")
+         .append("  optional string name = 1;")
+         .append("}                          ");
+    Protobuf root = xtext.parse(proto.toString());
+    Property name = findProperty("name", root);
+    assertThat(properties.isString(name), equalTo(true));
+  }
+
+  @Test public void should_return_false_if_property_is_not_string() {
+    StringBuilder proto = new StringBuilder();
+    proto.append("message Person {           ")
+         .append("  optional bool active = 1;")
+         .append("}                          ");
+    Protobuf root = xtext.parse(proto.toString());
+    Property active = findProperty("active", root);
+    assertThat(properties.isString(active), equalTo(false));
+  }
+}
diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/ProtobufElements.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/ProtobufElements.java
new file mode 100644
index 0000000..fc6af47
--- /dev/null
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/util/ProtobufElements.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2011 Google Inc.
+ *
+ * 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 com.google.eclipse.protobuf.ui.util;
+
+import static org.eclipse.xtext.EcoreUtil2.getAllContentsOfType;
+
+import java.util.List;
+
+import com.google.eclipse.protobuf.protobuf.*;
+
+/**
+ * @author alruiz@google.com (Alex Ruiz)
+ */
+public final class ProtobufElements {
+  
+  public static Literal findLiteral(String name, Protobuf root) {
+    List<Literal> literals = getAllContentsOfType(root, Literal.class);
+    for (Literal literal : literals)
+      if (name.equals(literal.getName())) return literal;
+    return null;
+  }
+  
+  public static Property findProperty(String name, Protobuf root) {
+    List<Property> proeperties = getAllContentsOfType(root, Property.class);
+    for (Property property : proeperties)
+      if (name.equals(property.getName())) return property;
+    return null;
+  }
+  
+  private ProtobufElements() {}
+}