Search in sources :

Example 21 with Member

use of mondrian.olap.Member in project mondrian by pentaho.

the class RolapMemberBaseTest method testShouldUsePropertyFormatterWhenPropertyValuesAreRequested.

/**
 * <p>
 * Given rolap member with properties.
 * </p>
 * When the property formatted value is requested,
 * then property formatter should be used to return the value.
 */
public void testShouldUsePropertyFormatterWhenPropertyValuesAreRequested() {
    RolapProperty property1 = mock(RolapProperty.class);
    RolapProperty property2 = mock(RolapProperty.class);
    when(property1.getName()).thenReturn(PROPERTY_NAME_1);
    when(property2.getName()).thenReturn(PROPERTY_NAME_2);
    when(property1.getFormatter()).thenReturn(propertyFormatter);
    RolapProperty[] properties = { property1, property2 };
    when(level.getProperties()).thenReturn(properties);
    when(propertyFormatter.formatProperty(any(Member.class), anyString(), eq(PROPERTY_VALUE_TO_FORMAT))).thenReturn(FORMATTED_PROPERTY_VALUE);
    rolapMemberBase.setProperty(PROPERTY_NAME_1, PROPERTY_VALUE_TO_FORMAT);
    rolapMemberBase.setProperty(PROPERTY_NAME_2, PROPERTY_VALUE_TO_FORMAT);
    String formatted1 = rolapMemberBase.getPropertyFormattedValue(PROPERTY_NAME_1);
    String formatted2 = rolapMemberBase.getPropertyFormattedValue(PROPERTY_NAME_2);
    String formatted3 = rolapMemberBase.getPropertyFormattedValue(PROPERTY_NAME_3);
    // formatted
    assertEquals(FORMATTED_PROPERTY_VALUE, formatted1);
    // unformatted
    assertEquals(PROPERTY_VALUE_TO_FORMAT, formatted2);
    // not found
    assertEquals(null, formatted3);
}
Also used : Matchers.anyString(org.mockito.Matchers.anyString) Member(mondrian.olap.Member)

Example 22 with Member

use of mondrian.olap.Member in project pentaho-platform by pentaho.

the class MDXMetaDataTest method checkExtendedColumnHeaders.

@SuppressWarnings("unchecked")
private void checkExtendedColumnHeaders(List<Member> positions, Object[][] columnHeaders) {
    assertNotNull(columnHeaders);
    assertTrue(columnHeaders.length > 0);
    for (int i = 0; i < columnHeaders.length; i++) {
        for (int j = 0; j < columnHeaders[i].length; j++) {
            List<Member> row = (List<Member>) positions.get(j);
            String expectedValue;
            if ((i == columnHeaders.length - 1)) {
                Member memberExpected = (Member) row.get(i - 1);
                expectedValue = memberExpected.getHierarchy().getCaption();
            } else {
                Member memberExpected = (Member) row.get(i);
                expectedValue = memberExpected.getCaption();
            }
            assertEquals(expectedValue, columnHeaders[i][j]);
        }
    }
}
Also used : ArrayList(java.util.ArrayList) List(java.util.List) Member(mondrian.olap.Member)

Example 23 with Member

use of mondrian.olap.Member in project pentaho-platform by pentaho.

the class MDXMetaDataTest method checkColumnHeaders.

@SuppressWarnings("unchecked")
private void checkColumnHeaders(List<Member> positions, Object[][] columnHeaders) {
    assertNotNull(columnHeaders);
    assertTrue(columnHeaders.length > 0);
    for (int i = 0; i < columnHeaders.length; i++) {
        for (int j = 0; j < columnHeaders[i].length; j++) {
            List<Member> row = (List<Member>) positions.get(j);
            Member memberExpected = (Member) row.get(i);
            assertEquals(memberExpected.getCaption(), columnHeaders[i][j]);
        }
    }
}
Also used : ArrayList(java.util.ArrayList) List(java.util.List) Member(mondrian.olap.Member)

Example 24 with Member

use of mondrian.olap.Member in project pentaho-platform by pentaho.

the class MDXMetaDataTest method checkRowHeaders.

@SuppressWarnings("unchecked")
private void checkRowHeaders(List<Member> positions, Object[][] rowHeaders) {
    assertNotNull(rowHeaders);
    assertTrue(rowHeaders.length > 0);
    for (int i = 0; i < rowHeaders.length; i++) {
        for (int j = 0; j < rowHeaders[i].length; j++) {
            List<Member> row = (List<Member>) positions.get(i);
            Member memberExpected = (Member) row.get(j);
            assertEquals(memberExpected.getCaption(), rowHeaders[i][j]);
        }
    }
}
Also used : ArrayList(java.util.ArrayList) List(java.util.List) Member(mondrian.olap.Member)

Example 25 with Member

use of mondrian.olap.Member in project pentaho-platform by pentaho.

the class MDXMetaDataTest method mockMember.

private Member mockMember(String caption, String name) {
    Level level = mockLevel(name);
    Dimension dimension = mockDimension(name);
    Hierarchy hierarchy = mockHierarchy(name, caption);
    Member member = mock(Member.class);
    when(member.getCaption()).thenReturn(caption);
    when(member.getHierarchy()).thenReturn(hierarchy);
    when(member.getDimension()).thenReturn(dimension);
    when(member.getLevel()).thenReturn(level);
    return member;
}
Also used : Hierarchy(mondrian.olap.Hierarchy) Level(mondrian.olap.Level) Dimension(mondrian.olap.Dimension) Member(mondrian.olap.Member)

Aggregations

Member (mondrian.olap.Member)60 ArrayList (java.util.ArrayList)20 TestMember (mondrian.olap.fun.TestMember)20 List (java.util.List)15 LimitedRollupMember (mondrian.rolap.RolapHierarchy.LimitedRollupMember)13 Evaluator (mondrian.olap.Evaluator)11 MultiCardinalityDefaultMember (mondrian.rolap.RestrictedMemberReader.MultiCardinalityDefaultMember)11 SetEvaluator (mondrian.olap.Evaluator.SetEvaluator)8 Hierarchy (mondrian.olap.Hierarchy)8 TupleList (mondrian.calc.TupleList)7 Axis (mondrian.olap.Axis)7 Exp (mondrian.olap.Exp)7 Level (mondrian.olap.Level)7 HashMap (java.util.HashMap)6 LinkedHashMap (java.util.LinkedHashMap)6 HashSet (java.util.HashSet)5 UnaryTupleList (mondrian.calc.impl.UnaryTupleList)5 MemberExpr (mondrian.mdx.MemberExpr)5 LinkedHashSet (java.util.LinkedHashSet)4 ResolvedFunCall (mondrian.mdx.ResolvedFunCall)4