Skip to content

Commit

Permalink
Update tests to match mondrian's latest capabilities.
Browse files Browse the repository at this point in the history
All tests now pass clean.


git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@155 c6a108a4-781c-0410-a6c6-c2d559e19af0
  • Loading branch information
julianhyde committed Apr 19, 2009
1 parent 0f5b0e9 commit 93d335a
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 9 deletions.
21 changes: 14 additions & 7 deletions testsrc/org/olap4j/ConnectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1658,14 +1658,21 @@ public void testParentChild() throws ClassNotFoundException, SQLException {
assertEquals(member0.getUniqueName(), member1.getParentMember().getUniqueName());
assertEquals(member0, member1.getParentMember());
Member member2 = rowsAxis.getPositions().get(2).getMembers().get(0);
assertEquals("[Employees].[All Employees].[Derrick Whelply]", member2.getUniqueName());
// TODO: should return depth=2 here but mondrian erroneously returns 1
assertEquals(1, member2.getDepth());
assertTrue(
member2.getUniqueName().equals(
"[Employees].[All Employees].[Derrick Whelply]")
|| member2.getUniqueName().equals(
"[Employees].[All Employees].[Sheri Nowmer].[Derrick Whelply]"));
assertEquals(2, member2.getDepth());
assertEquals(1, member2.getLevel().getDepth());
// TODO: member2.parentMember should equal member1, but currently
// mondrian cannot look up a member of a parent-child hierarchy based
// on its unique name
assertNull(member2.getParentMember());
final Member parent = member2.getParentMember();
assertNotNull(parent);
assertEquals(
"[Employees].[All Employees].[Sheri Nowmer]",
parent.getUniqueName());
assertEquals(1, parent.getDepth());
assertEquals(member2.getLevel(), parent.getLevel());
assertEquals(member1, parent);
}

/**
Expand Down
32 changes: 30 additions & 2 deletions testsrc/org/olap4j/MetadataTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,32 @@ private void assertContains(String seek, String s) {
}
}

private void assertContainsLine(String partial, String seek, String s) {
if (partial == null) {
partial = seek;
}
int i = s.indexOf(partial);
if (i < 0) {
fail("expected to find '" + seek + "' in '" + s + "'");
}
int start = i;
while (start > 0
&& s.charAt(start - 1) != 0x0D
&& s.charAt(start - 1) != 0x0A)
{
--start;
}
int end = i;
while (end < s.length()
&& s.charAt(end) != 0x0D
&& s.charAt(end) != 0x0A)
{
++end;
}
String line = s.substring(start, end);
assertEquals(seek, line);
}

private void assertNotContains(String seek, String s) {
if (s.indexOf(seek) >= 0) {
fail("expected not to find '" + seek + "' in '" + s + "'");
Expand Down Expand Up @@ -348,7 +374,10 @@ public void testDatabaseMetaDataGetLevels() throws SQLException {
olapDatabaseMetaData.getLevels(
catalogName, null, null, null, null, null),
LEVELS_COLUMN_NAMES);
assertContains("CATALOG_NAME=" + catalogName + ", SCHEMA_NAME=FoodMart, CUBE_NAME=Sales, DIMENSION_UNIQUE_NAME=[Product], HIERARCHY_UNIQUE_NAME=[Product], LEVEL_NAME=Product Category, LEVEL_UNIQUE_NAME=[Product].[Product Category], LEVEL_GUID=null, LEVEL_CAPTION=Product Category, LEVEL_NUMBER=3, LEVEL_CARDINALITY=55, LEVEL_TYPE=0, CUSTOM_ROLLUP_SETTINGS=0, LEVEL_UNIQUE_SETTINGS=0, LEVEL_IS_VISIBLE=true, DESCRIPTION=Sales Cube - Product HierarchyProduct Category Level", s);
assertContainsLine(
"LEVEL_NAME=Product Category,",
"CATALOG_NAME=" + catalogName + ", SCHEMA_NAME=FoodMart, CUBE_NAME=Sales, DIMENSION_UNIQUE_NAME=[Product], HIERARCHY_UNIQUE_NAME=[Product], LEVEL_NAME=Product Category, LEVEL_UNIQUE_NAME=[Product].[Product Category], LEVEL_GUID=null, LEVEL_CAPTION=Product Category, LEVEL_NUMBER=3, LEVEL_CARDINALITY=55, LEVEL_TYPE=0, CUSTOM_ROLLUP_SETTINGS=0, LEVEL_UNIQUE_SETTINGS=0, LEVEL_IS_VISIBLE=true, DESCRIPTION=Sales Cube - Product Hierarchy - Product Category Level",
s);

s = checkResultSet(
olapDatabaseMetaData.getLevels(
Expand Down Expand Up @@ -460,7 +489,6 @@ private String checkResultSet(
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
final int columnCount = resultSetMetaData.getColumnCount();
if (columnNames != null) {
System.out.println(columnNames);
assertEquals(
columnNames.size(),
columnCount);
Expand Down

0 comments on commit 93d335a

Please sign in to comment.