Repository: olingo-odata4
Updated Branches:
  refs/heads/master 9a96ec4f9 -> 96c3f8903


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/96c3f890/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
----------------------------------------------------------------------
diff --git 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
index a9d25be..90ac68c 100644
--- 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
+++ 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
@@ -48,9 +48,6 @@ import org.apache.olingo.server.api.uri.UriResourceNavigation;
 import org.apache.olingo.server.api.uri.UriResourcePartTyped;
 import org.apache.olingo.server.api.uri.UriResourcePrimitiveProperty;
 import org.apache.olingo.server.api.uri.UriResourceSingleton;
-import org.apache.olingo.server.api.uri.queryoption.ExpandOption;
-import org.apache.olingo.server.api.uri.queryoption.SelectItem;
-import org.apache.olingo.server.api.uri.queryoption.SelectOption;
 import org.apache.olingo.server.core.uri.UriResourceWithKeysImpl;
 import org.apache.olingo.server.core.uri.parser.Parser;
 import org.apache.olingo.server.core.uri.validator.UriValidationException;
@@ -79,19 +76,19 @@ public class ResourceValidator implements TestValidator {
 
   public ResourceValidator setUriInfoPath(final UriInfoResource uriInfoPath) {
     uriInfo = (UriInfo) uriInfoPath;
-    last();
+    if (!uriInfo.getUriResourceParts().isEmpty()) {
+      last();
+    }
     return this;
   }
 
   // --- Execution ---
 
   public ResourceValidator run(final String path) {
-    Parser testParser = new Parser(edm, odata);
-
     UriInfo uriInfoTmp = null;
     uriPathInfo = null;
     try {
-      uriInfoTmp = testParser.parseUri(path, null, null);
+      uriInfoTmp = new Parser(edm, odata).parseUri(path, null, null);
     } catch (final ODataLibraryException e) {
       fail("Exception occurred while parsing the URI: " + path + "\n"
           + " Message: " + e.getMessage());
@@ -104,10 +101,8 @@ public class ResourceValidator implements TestValidator {
           + " Message: " + e.getMessage());
     }
 
-    if (uriInfoTmp.getKind() != UriInfoKind.resource) {
-      fail("Invalid UriInfoKind: " + uriInfoTmp.getKind().toString());
-    }
     uriInfo = uriInfoTmp;
+    isKind(UriInfoKind.resource);
 
     first();
     return this;
@@ -132,43 +127,21 @@ public class ResourceValidator implements TestValidator {
     UriResourceFunction function = (UriResourceFunction) uriPathInfo;
 
     return new FilterValidator()
-    .setEdm(edm)
-    .setExpression(function.getParameters().get(index).getExpression())
-    .setValidator(this);
+        .setEdm(edm)
+        .setExpression(function.getParameters().get(index).getExpression())
+        .setValidator(this);
   }
 
   public FilterValidator goLambdaExpression() {
-    if (uriPathInfo.getKind() == UriResourceKind.lambdaAll) {
-      return new FilterValidator()
-      .setEdm(edm)
-      .setExpression(((UriResourceLambdaAll) uriPathInfo).getExpression());
-
-    } else if (uriPathInfo.getKind() == UriResourceKind.lambdaAny) {
-      return new FilterValidator()
-      .setEdm(edm)
-      .setExpression(((UriResourceLambdaAny) uriPathInfo).getExpression());
-    } else {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-    return null;
-  }
-
-  public ResourceValidator goSelectItem(final int index) {
-    final SelectOption select = uriInfo.getSelectOption();
-    SelectItem item = select.getSelectItems().get(index);
-    return new ResourceValidator()
-        .setUpValidator(this)
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo.getKind() == UriResourceKind.lambdaAll
+        || uriPathInfo.getKind() == UriResourceKind.lambdaAny);
+    return new FilterValidator()
         .setEdm(edm)
-        .setUriInfoPath(item.getResourcePath());
-  }
-
-  public ExpandValidator goExpand() {
-    final ExpandOption expand = uriInfo.getExpandOption();
-    if (expand == null) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
-    return new ExpandValidator().setUpValidator(this).setExpand(expand);
+        .setExpression(uriPathInfo.getKind() == UriResourceKind.lambdaAll ?
+            ((UriResourceLambdaAll) uriPathInfo).getExpression() :
+            ((UriResourceLambdaAny) uriPathInfo).getExpression())
+        .setValidator(this);
   }
 
   public ResourceValidator first() {
@@ -176,15 +149,7 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator last() {
-    final List<UriResource> parts = uriInfo.getUriResourceParts();
-    if (parts.isEmpty()) {
-      uriResourceIndex = 0;
-      fail("not enough segments");
-    } else {
-      uriResourceIndex = parts.size() - 1;
-      uriPathInfo = parts.get(uriResourceIndex);
-    }
-    return this;
+    return at(uriInfo.getUriResourceParts().size() - 1);
   }
 
   public ResourceValidator n() {
@@ -193,11 +158,8 @@ public class ResourceValidator implements TestValidator {
 
   public ResourceValidator at(final int index) {
     uriResourceIndex = index;
-    if (index < uriInfo.getUriResourceParts().size()) {
-      uriPathInfo = uriInfo.getUriResourceParts().get(index);
-    } else {
-      fail("not enough segments");
-    }
+    assertTrue("not enough segments", index < 
uriInfo.getUriResourceParts().size());
+    uriPathInfo = uriInfo.getUriResourceParts().get(index);
     return this;
   }
 
@@ -231,26 +193,20 @@ public class ResourceValidator implements TestValidator {
       actualType = ((UriResourceSingleton) uriPathInfo).getEntityTypeFilter();
     }
 
-    if (actualType == null) {
-      fail("type information not set");
-    }
-
+    assertNotNull("type information not set", actualType);
     assertEquals(expectedType, actualType.getFullQualifiedName());
     return this;
   }
 
   public ResourceValidator isType(final FullQualifiedName type) {
-    if (!(uriPathInfo instanceof UriResourcePartTyped)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
+    assertTrue("invalid resource kind: "
+        + (uriPathInfo.getKind() == null ? "null" : 
uriPathInfo.getKind().toString()),
+        uriPathInfo instanceof UriResourcePartTyped);
     UriResourcePartTyped uriPathInfoTyped = (UriResourcePartTyped) uriPathInfo;
 
     EdmType actualType = uriPathInfoTyped.getType();
-    if (actualType == null) {
-      fail("type information not set");
-    }
+    assertNotNull("type information not set", actualType);
     assertEquals(type, actualType.getFullQualifiedName());
-
     return this;
   }
 
@@ -261,10 +217,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isTypeFilterOnEntry(final FullQualifiedName type) {
-    if (!(uriPathInfo instanceof UriResourceWithKeysImpl)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceWithKeysImpl);
     UriResourceWithKeysImpl uriPathInfoKeyPred = (UriResourceWithKeysImpl) 
uriPathInfo;
 
     // input parameter type may be null in order to assert that the 
singleTypeFilter is not set
@@ -275,9 +229,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isTypeFilterOnCollection(final FullQualifiedName 
expectedType) {
-    if (!(uriPathInfo instanceof UriResourceWithKeysImpl)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceWithKeysImpl);
     UriResourceWithKeysImpl uriPathInfoKeyPred = (UriResourceWithKeysImpl) 
uriPathInfo;
 
     // input parameter type may be null in order to assert that the 
collectionTypeFilter is not set
@@ -289,23 +242,19 @@ public class ResourceValidator implements TestValidator {
   }
 
   // other functions
-  public ResourceValidator isKeyPredicateRef(final int index, final String 
name, final String refencedProperty) {
-    if (!(uriPathInfo instanceof UriResourceWithKeysImpl)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+  public ResourceValidator isKeyPredicateRef(final int index, final String 
name, final String referencedProperty) {
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceWithKeysImpl);
     UriResourceWithKeysImpl info = (UriResourceWithKeysImpl) uriPathInfo;
     List<UriParameter> keyPredicates = info.getKeyPredicates();
     assertEquals(name, keyPredicates.get(index).getName());
-    assertEquals(refencedProperty, 
keyPredicates.get(index).getReferencedProperty());
+    assertEquals(referencedProperty, 
keyPredicates.get(index).getReferencedProperty());
     return this;
   }
 
   public ResourceValidator isKeyPredicateAlias(final int index, final String 
name, final String alias) {
-    if (!(uriPathInfo instanceof UriResourceWithKeysImpl)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceWithKeysImpl);
     UriResourceWithKeysImpl info = (UriResourceWithKeysImpl) uriPathInfo;
     List<UriParameter> keyPredicates = info.getKeyPredicates();
     assertEquals(name, keyPredicates.get(index).getName());
@@ -315,10 +264,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isKeyPredicate(final int index, final String name, 
final String text) {
-    if (!(uriPathInfo instanceof UriResourceWithKeysImpl)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceWithKeysImpl);
     UriResourceWithKeysImpl info = (UriResourceWithKeysImpl) uriPathInfo;
     List<UriParameter> keyPredicates = info.getKeyPredicates();
     assertEquals(name, keyPredicates.get(index).getName());
@@ -328,10 +275,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isParameter(final int index, final String name, 
final String text) {
-    if (!(uriPathInfo instanceof UriResourceFunction)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceFunction);
     UriResourceFunction info = (UriResourceFunction) uriPathInfo;
     List<UriParameter> keyPredicates = info.getParameters();
     assertEquals(name, keyPredicates.get(index).getName());
@@ -341,10 +286,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isParameterAlias(final int index, final String 
name, final String alias) {
-    if (!(uriPathInfo instanceof UriResourceFunction)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceFunction);
     UriResourceFunction info = (UriResourceFunction) uriPathInfo;
     List<UriParameter> keyPredicates = info.getParameters();
     assertEquals(name, keyPredicates.get(index).getName());
@@ -354,16 +297,15 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isKind(final UriInfoKind kind) {
-    assertEquals(kind, uriInfo.getKind());
+    assertEquals("Invalid UriInfoKind: " + uriInfo.getKind().toString(),
+        kind, uriInfo.getKind());
     return this;
   }
 
   public ResourceValidator isPrimitiveProperty(final String name,
       final FullQualifiedName type, final boolean isCollection) {
-    if (!(uriPathInfo instanceof UriResourcePrimitiveProperty)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourcePrimitiveProperty);
     UriResourcePrimitiveProperty uriPathInfoProp = 
(UriResourcePrimitiveProperty) uriPathInfo;
 
     EdmElement property = uriPathInfoProp.getProperty();
@@ -376,10 +318,8 @@ public class ResourceValidator implements TestValidator {
 
   public ResourceValidator isComplexProperty(final String name, final 
FullQualifiedName type,
       final boolean isCollection) {
-    if (!(uriPathInfo instanceof UriResourceComplexProperty)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceComplexProperty);
     UriResourceComplexProperty uriPathInfoProp = (UriResourceComplexProperty) 
uriPathInfo;
 
     EdmElement property = uriPathInfoProp.getProperty();
@@ -391,10 +331,8 @@ public class ResourceValidator implements TestValidator {
   }
 
   public ResourceValidator isNavProperty(final String name, final 
FullQualifiedName type, final boolean isCollection) {
-    if (!(uriPathInfo instanceof UriResourceNavigation)) {
-      fail("invalid resource kind: " + uriPathInfo.getKind().toString());
-    }
-
+    assertTrue("invalid resource kind: " + uriPathInfo.getKind().toString(),
+        uriPathInfo instanceof UriResourceNavigation);
     UriResourceNavigation uriPathInfoProp = (UriResourceNavigation) 
uriPathInfo;
 
     EdmElement property = uriPathInfoProp.getProperty();
@@ -468,57 +406,4 @@ public class ResourceValidator implements TestValidator {
   public ResourceValidator isIt() {
     return isUriPathInfoKind(UriResourceKind.it);
   }
-
-  public ResourceValidator isTopText(final String topText) {
-    assertEquals(topText, uriInfo.getTopOption().getText());
-    return this;
-  }
-
-  public ResourceValidator isFormatText(final String formatText) {
-    assertEquals(formatText, uriInfo.getFormatOption().getText());
-    return this;
-  }
-
-  public ResourceValidator isInlineCountText(final String inlineCountText) {
-    assertEquals(inlineCountText, uriInfo.getCountOption().getText());
-    return this;
-  }
-
-  public ResourceValidator isSkipText(final String skipText) {
-    assertEquals(skipText, uriInfo.getSkipOption().getText());
-    return this;
-  }
-
-  public ResourceValidator isSkipTokenText(final String skipTokenText) {
-    assertEquals(skipTokenText, uriInfo.getSkipTokenOption().getText());
-    return this;
-  }
-
-  public ResourceValidator isSelectItemStar(final int index) {
-    final SelectOption select = uriInfo.getSelectOption();
-    SelectItem item = select.getSelectItems().get(index);
-    assertTrue(item.isStar());
-    return this;
-  }
-
-  public ResourceValidator isSelectItemAllOp(final int index, final 
FullQualifiedName fqn) {
-    final SelectOption select = uriInfo.getSelectOption();
-    SelectItem item = select.getSelectItems().get(index);
-    assertEquals(fqn, item.getAllOperationsInSchemaNameSpace());
-    return this;
-  }
-
-  public ResourceValidator isSelectStartType(final int index, final 
FullQualifiedName fullName) {
-    final SelectOption select = uriInfo.getSelectOption();
-    SelectItem item = select.getSelectItems().get(index);
-    EdmType actualType = item.getStartTypeFilter();
-    assertEquals(fullName, actualType.getFullQualifiedName());
-    return this;
-  }
-
-  public ResourceValidator isInAliasToValueMap(final String alias, final 
String value) {
-    String valueForAlias = uriInfo.getValueForAlias(alias);
-    assertEquals(value, valueForAlias);
-    return this;
-  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/96c3f890/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
----------------------------------------------------------------------
diff --git 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
index bee3401..d869cb1 100644
--- 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
+++ 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.server.core.uri.testutil;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -59,14 +60,12 @@ public class TestUriValidator implements TestValidator {
 
   // Execution
   public TestUriValidator run(final String path) throws UriParserException, 
UriValidationException {
-    return run(path, null);
+    return run(path, null, null);
   }
 
   public TestUriValidator run(final String path, final String query)
       throws UriParserException, UriValidationException {
-    uriInfo = new Parser(edm, odata).parseUri(path, query, null);
-    new UriValidator().validate(uriInfo, HttpMethod.GET);
-    return this;
+    return run(path, query, null);
   }
 
   public TestUriValidator run(final String path, final String query, final 
String fragment)
@@ -83,8 +82,7 @@ public class TestUriValidator implements TestValidator {
   public TestUriValidator runEx(final String path, final String query) {
     uriInfo = null;
     try {
-      uriInfo = new Parser(edm, odata).parseUri(path, query, null);
-      new UriValidator().validate(uriInfo, HttpMethod.GET);
+      run(path, query, null);
       fail("Exception expected");
     } catch (UriParserException e) {
       exception = e;
@@ -96,10 +94,12 @@ public class TestUriValidator implements TestValidator {
 
   // Navigation
   public ResourceValidator goPath() {
-    if (uriInfo.getKind() != UriInfoKind.resource) {
-      fail("invalid resource kind: " + uriInfo.getKind().toString());
-    }
-
+    assertNotNull(uriInfo);
+    assertNotNull(uriInfo.getKind());
+    assertTrue("invalid resource kind: " + uriInfo.getKind().toString(),
+        uriInfo.getKind() == UriInfoKind.resource
+        || uriInfo.getKind() == UriInfoKind.all
+        || uriInfo.getKind() == UriInfoKind.crossjoin);
     return new ResourceValidator()
         .setUpValidator(this)
         .setEdm(edm)
@@ -108,23 +108,19 @@ public class TestUriValidator implements TestValidator {
 
   public FilterValidator goFilter() {
     final FilterOption filter = uriInfo.getFilterOption();
-    if (filter == null) {
-      fail("no filter found");
-    }
-    return new FilterValidator().setUriValidator(this).setFilter(filter);
+    assertNotNull("no filter found", filter);
+    return new FilterValidator().setValidator(this).setFilter(filter);
   }
 
   public ExpandValidator goExpand() {
     final ExpandOption expand = uriInfo.getExpandOption();
-    if (expand == null) {
-      fail("invalid resource kind: " + uriInfo.getKind().toString());
-    }
-
+    assertNotNull("no expand found", expand);
     return new ExpandValidator().setUpValidator(this).setExpand(expand);
   }
 
   public ResourceValidator goSelectItemPath(final int index) {
     final SelectOption select = uriInfo.getSelectOption();
+    assertNotNull("no select found", select);
     SelectItem item = select.getSelectItems().get(index);
     return new ResourceValidator()
         .setUpValidator(this)
@@ -134,6 +130,7 @@ public class TestUriValidator implements TestValidator {
 
   public TestUriValidator isSelectStartType(final int index, final 
FullQualifiedName fullName) {
     final SelectOption select = uriInfo.getSelectOption();
+    assertNotNull("no select found", select);
     SelectItem item = select.getSelectItems().get(index);
     EdmType actualType = item.getStartTypeFilter();
     assertEquals(fullName, actualType.getFullQualifiedName());
@@ -142,6 +139,7 @@ public class TestUriValidator implements TestValidator {
 
   public TestUriValidator isSelectItemStar(final int index) {
     final SelectOption select = uriInfo.getSelectOption();
+    assertNotNull("no select found", select);
     SelectItem item = select.getSelectItems().get(index);
     assertTrue(item.isStar());
     return this;
@@ -149,6 +147,7 @@ public class TestUriValidator implements TestValidator {
 
   public TestUriValidator isSelectItemAllOp(final int index, final 
FullQualifiedName fqn) {
     final SelectOption select = uriInfo.getSelectOption();
+    assertNotNull("no select found", select);
     SelectItem item = select.getSelectItems().get(index);
     assertEquals(fqn, item.getAllOperationsInSchemaNameSpace());
     return this;
@@ -156,90 +155,100 @@ public class TestUriValidator implements TestValidator {
 
   // Validation
   public TestUriValidator isKind(final UriInfoKind kind) {
-    assertEquals(kind, uriInfo.getKind());
+    assertNotNull(uriInfo);
+    assertNotNull(uriInfo.getKind());
+    assertEquals("invalid resource kind: " + uriInfo.getKind().toString(), 
kind, uriInfo.getKind());
     return this;
   }
 
-  public TestUriValidator isCustomParameter(final int index, final String 
name, final String value) {
-    if (uriInfo == null) {
-      fail("hasQueryParameter: uriInfo == null");
-    }
+  public TestUriValidator isFormatText(final String text) {
+    assertEquals(text, uriInfo.getFormatOption().getText());
+    return this;
+  }
 
-    List<CustomQueryOption> list = uriInfo.getCustomQueryOptions();
-    if (list.size() <= index) {
-      fail("not enough queryParameters");
-    }
+  public TestUriValidator isTopText(final String topText) {
+    assertEquals(topText, uriInfo.getTopOption().getText());
+    return this;
+  }
 
-    CustomQueryOption option = list.get(index);
-    assertEquals(name, option.getName());
-    assertEquals(value, option.getText());
+  public TestUriValidator isInlineCountText(final String inlineCountText) {
+    assertEquals(inlineCountText, uriInfo.getCountOption().getText());
     return this;
   }
 
-  public void isCrossJoinEntityList(final List<String> entitySets) {
-    if (uriInfo.getKind() != UriInfoKind.crossjoin) {
-      fail("invalid resource kind: " + uriInfo.getKind().toString());
-    }
+  public TestUriValidator isSkipText(final String skipText) {
+    assertEquals(skipText, uriInfo.getSkipOption().getText());
+    return this;
+  }
 
-    int i = 0;
-    for (String entitySet : entitySets) {
-      assertEquals(entitySet, uriInfo.getEntitySetNames().get(i));
-      i++;
-    }
+  public TestUriValidator isSkipTokenText(final String skipTokenText) {
+    assertEquals(skipTokenText, uriInfo.getSkipTokenOption().getText());
+    return this;
   }
 
-  public TestUriValidator isExceptionMessage(final 
ODataLibraryException.MessageKey messageKey) {
-    assertEquals(messageKey, exception.getMessageKey());
+  public TestUriValidator isSearchSerialized(final String serialized) {
+    assertNotNull("no search found", uriInfo.getSearchOption());
+    assertEquals(serialized, 
uriInfo.getSearchOption().getSearchExpression().toString());
     return this;
   }
 
-  public TestUriValidator isExSyntax(final 
UriParserSyntaxException.MessageKeys messageKey) {
-    assertEquals(UriParserSyntaxException.class, exception.getClass());
-    assertEquals(messageKey, exception.getMessageKey());
+  public TestUriValidator isInAliasToValueMap(final String alias, final String 
value) {
+    assertEquals(value, uriInfo.getValueForAlias(alias));
     return this;
   }
 
-  public TestUriValidator isExSemantic(final 
UriParserSemanticException.MessageKeys messageKey) {
-    assertEquals(UriParserSemanticException.class, exception.getClass());
-    assertEquals(messageKey, exception.getMessageKey());
+  public TestUriValidator isCustomParameter(final int index, final String 
name, final String value) {
+    assertNotNull(uriInfo);
+
+    final List<CustomQueryOption> list = uriInfo.getCustomQueryOptions();
+    assertTrue("not enough queryParameters", list.size() > index);
+
+    CustomQueryOption option = list.get(index);
+    assertEquals(name, option.getName());
+    assertEquals(value, option.getText());
     return this;
   }
 
-  public TestUriValidator isExValidation(final 
UriValidationException.MessageKeys messageKey) {
-    assertEquals(UriValidationException.class, exception.getClass());
-    assertEquals(messageKey, exception.getMessageKey());
+  public TestUriValidator isCrossJoinEntityList(final List<String> entitySets) 
{
+    isKind(UriInfoKind.crossjoin);
+    assertEquals(entitySets, uriInfo.getEntitySetNames());
     return this;
   }
 
-  public TestUriValidator isIdText(final String text) {
-    assertEquals(text, uriInfo.getIdOption().getText());
+  public TestUriValidator isEntityType(final FullQualifiedName fullName) {
+    isKind(UriInfoKind.entityId);
+    assertEquals(fullName, uriInfo.getEntityTypeCast().getFullQualifiedName());
     return this;
   }
 
-  public TestUriValidator isFormatText(final String text) {
-    assertEquals(text, uriInfo.getFormatOption().getText());
+  public TestUriValidator isIdText(final String text) {
+    assertEquals(text, uriInfo.getIdOption().getText());
     return this;
   }
 
   public TestUriValidator isFragmentText(final String text) {
-    if (uriInfo.getKind() != UriInfoKind.metadata) {
-      fail("invalid resource kind: " + uriInfo.getKind().toString());
-    }
-
+    isKind(UriInfoKind.metadata);
     assertEquals(text, uriInfo.getFragment());
     return this;
   }
 
-  public TestUriValidator isEntityType(final FullQualifiedName fullName) {
-    if (uriInfo.getKind() != UriInfoKind.entityId) {
-      fail("invalid resource kind: " + uriInfo.getKind().toString());
-    }
-
-    assertEquals(fullName, uriInfo.getEntityTypeCast().getFullQualifiedName());
+  public TestUriValidator isExceptionMessage(final 
ODataLibraryException.MessageKey messageKey) {
+    assertEquals(messageKey, exception.getMessageKey());
     return this;
   }
-  
-  public UriInfo getUriInfoRoot() {
-    return uriInfo;
+
+  public TestUriValidator isExSyntax(final 
UriParserSyntaxException.MessageKeys messageKey) {
+    assertEquals(UriParserSyntaxException.class, exception.getClass());
+    return isExceptionMessage(messageKey);
+  }
+
+  public TestUriValidator isExSemantic(final 
UriParserSemanticException.MessageKeys messageKey) {
+    assertEquals(UriParserSemanticException.class, exception.getClass());
+    return isExceptionMessage(messageKey);
+  }
+
+  public TestUriValidator isExValidation(final 
UriValidationException.MessageKeys messageKey) {
+    assertEquals(UriValidationException.class, exception.getClass());
+    return isExceptionMessage(messageKey);
   }
 }

Reply via email to