Skip to content

Commit

Permalink
Adds a test for the query validation.
Browse files Browse the repository at this point in the history
git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@284 c6a108a4-781c-0410-a6c6-c2d559e19af0
  • Loading branch information
lucboudreau committed Oct 2, 2009
1 parent f277db7 commit ab3e951
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions testsrc/org/olap4j/OlapTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -927,6 +927,62 @@ public void testExclusionModes() {
}
}

public void testNonMandatoryQueryAxis() {
try {
Cube cube = getFoodmartCube("Sales");
if (cube == null) {
fail("Could not find Sales cube");
}
Query query = new Query("my query", cube);

// create selections

QueryDimension productDimension = query.getDimension("Product");
productDimension.include(
Selection.Operator.CHILDREN, "Product", "Drink");

QueryDimension storeDimension = query.getDimension("Store");
storeDimension.include(
Selection.Operator.INCLUDE_CHILDREN, "Store", "USA");
storeDimension.setHierarchizeMode(HierarchizeMode.POST);

QueryDimension timeDimension = query.getDimension("Time");

timeDimension.include(Selection.Operator.CHILDREN, "Time", "1997");

QueryDimension measuresDimension = query.getDimension("Measures");
measuresDimension.include("Measures", "Store Sales");


//query.getAxis(Axis.ROWS).addDimension(productDimension);
//query.getAxis(Axis.ROWS).addDimension(storeDimension);
//query.getAxis(Axis.ROWS).addDimension(timeDimension);
query.getAxis(Axis.COLUMNS).addDimension(measuresDimension);

//query.validate();

SelectNode mdx = query.getSelect();
String mdxString = mdx.toString();
TestContext.assertEqualsVerbose(
"SELECT\n"
+ "{[Measures].[Store Sales]} ON COLUMNS\n"
+ "FROM [Sales]",
mdxString);

try {
query.validate();
fail();
} catch (OlapException e) {
assertEquals(0, e.getCause().getMessage().indexOf(
"A valid Query requires at least one "
+ "dimension on the rows axis."));
}
} catch (Exception e) {
e.printStackTrace();
fail();
}
}

public static void main(String args[]) {
OlapTest olapTest = new OlapTest();

Expand Down

0 comments on commit ab3e951

Please sign in to comment.