Package mondrian.test
Class TestCalculatedMembers
- java.lang.Object
-
- TestCase
-
- mondrian.test.FoodMartTestCase
-
- mondrian.rolap.BatchTestCase
-
- mondrian.test.TestCalculatedMembers
-
public class TestCalculatedMembers extends BatchTestCase
Tests the expressions used for calculated members. Please keep in sync with the actual code used by the wizard.- Since:
- 5 October, 2002
- Author:
- jhyde
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class mondrian.rolap.BatchTestCase
BatchTestCase.TestCase
-
-
Field Summary
-
Fields inherited from class mondrian.rolap.BatchTestCase
cubeNameSales, fieldGender, fieldProductDepartment, fieldProductFamily, fieldValueProductDepartment, fieldValuesGender, fieldValuesProductFamily, fieldValuesYear, fieldYear, measureUnitSales, tableCustomer, tableProductClass, tableTime
-
Fields inherited from class mondrian.test.FoodMartTestCase
propSaver
-
-
Constructor Summary
Constructors Constructor Description TestCalculatedMembers()
TestCalculatedMembers(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
_testWhole()
void
testBracketInCalcMemberName()
Tests that calculated members can have brackets in their names.void
testBracketInCubeCalcMemberName()
Tests that calculated members defined in the schema can have brackets in their names.void
testBugMondrian852()
void
testCalcMemberCustomFormatterInNonMeasureInQuery()
void
testCalcMemberCustomFormatterInQuery()
void
testCalcMemberCustomFormatterInQueryNegative()
void
testCalcMemberCustomFormatterInQueryNegative2()
void
testCalcMemberCustomFormatterInSchema()
void
testCalcMemberCustomFormatterInSchemaNegative()
void
testCalcMemberIsSetFails()
void
testCalcMemberParentOfCalcMember()
void
testCalcMemberSameNameDifferentHierarchies()
void
testCalcMemberTooDeep()
void
testCalcMemberWithQuote()
void
testCalculatedMemberCaption()
void
testCalculatedMemberChildren()
Test case for MONDRIAN-335, "Issues with calculated members".void
testCalculatedMemberInCube()
void
testCalculatedMemberInCubeAndQuery()
void
testCalculatedMemberInCubeViaApi()
void
testCalculatedMemberInCubeWithProps()
void
testCalculatedMemberInCubeWithSpace()
Tests a calculated member with spaces in its name against a virtual cube with spaces in its name.void
testCalculatedMemberMSASCompatibility()
void
testChildrenOfCalcMembers()
void
testCompoundSlicerOverTuples()
void
testCreateCalculatedMember()
void
testCycleFalsePositive()
Test case for MONDRIAN-638, "Stack trace when grand total turned on".void
testEarlierCalcMember()
If there are multiple calc members with the same name, the first is chosen, even if it is not the best match.void
testExponentialPerformanceBugMondrian608()
Testcase for bug MONDRIAN-608, "Performance issue with large number of measures".void
testFormatString()
void
testNegativeSolveOrder()
Testcase for bug MONDRIAN-263, Negative Solve Orders broken.void
testNegativeSolveOrderForCalMemberWithFilter()
Tests that if a filter is associated with input to a cal member with lower solve order; the filter computation uses the context that contains the other cal members(those with higher solve order).void
testNegativeSolveOrderForCalMemberWithFilters2()
Tests that if a filter is associated with input to a cal member with higher solve order; the filter computation ignores the other cal members.void
testNonCanonical()
Tests referring to a calc member by a name other than its canonical unique name.void
testNonCharacterMembers()
void
testNonTopLevelCalculatedMember()
Test case for MONDRIAN-335, "Issues with calculated members".void
testNpeInIif()
Tests that IIf works OK even if its argument returns the NULL value.void
testPropertyReferencesCalcMember()
void
testQueryCalcMemberOverridesShallowerStoredMember()
void
testQueryCalculatedMemberOverridesCube()
void
testQuoteInCalcMember()
void
testSetIncludesSelf()
Tests a calculated member which aggregates over a set which would seem to include the calculated member (but does not).void
testSimulatedCompoundSlicer()
Query that simulates a compound slicer by creating a calculated member that aggregates over a set and places it in the WHERE clause.void
testStrToSetInCubeCalcMember()
Testcase for bug 1784617, "Using StrToTuple() in schema errors out".-
Methods inherited from class mondrian.rolap.BatchTestCase
assertNative, assertNoQuerySql, assertNotNative, assertQuerySql, assertQuerySql, assertQuerySql, assertQuerySqlOrNot, assertRequestSql, assertRequestSql, checkNative, checkNative, checkNative, checkNotNative, checkNotNative, checkNotNative, createBatch, createBatch, createRequest, createRequest, createRequest, createRequest, dialectize, executeQuery, getCube, getFoodMartConnection, getGroupingSet, getMeasure, mysqlPattern, sqlPattern
-
Methods inherited from class mondrian.test.FoodMartTestCase
allMember, assertAxisReturns, assertAxisThrows, assertBooleanExprReturns, assertExprReturns, assertExprThrows, assertQueriesReturnSimilarResults, assertQueryReturns, assertQueryThrows, assertSize, cubeByName, execute, executeExpr, executeQuery, executeSingletonAxis, genderMembersIncludingAll, getConnection, getDimensionWithName, getTestContext, isDefaultNullMemberRepresentation, isGroupingSetsSupported, member, productMembersPotScrubbersPotsAndPans, storeMembersCAAndOR, storeMembersUsaAndCanada, tearDown, verifySameNativeAndNot, warehouseMembersCanadaMexicoUsa
-
-
-
-
Method Detail
-
testCalculatedMemberInCube
public void testCalculatedMemberInCube()
-
testCalculatedMemberInCubeViaApi
public void testCalculatedMemberInCubeViaApi()
-
testCalculatedMemberInCubeWithSpace
public void testCalculatedMemberInCubeWithSpace()
Tests a calculated member with spaces in its name against a virtual cube with spaces in its name.
-
testCalculatedMemberInCubeWithProps
public void testCalculatedMemberInCubeWithProps()
-
testCalculatedMemberInCubeAndQuery
public void testCalculatedMemberInCubeAndQuery()
-
testQueryCalculatedMemberOverridesCube
public void testQueryCalculatedMemberOverridesCube()
-
testQueryCalcMemberOverridesShallowerStoredMember
public void testQueryCalcMemberOverridesShallowerStoredMember()
-
testEarlierCalcMember
public void testEarlierCalcMember()
If there are multiple calc members with the same name, the first is chosen, even if it is not the best match.
-
_testWhole
public void _testWhole()
-
testCalculatedMemberCaption
public void testCalculatedMemberCaption()
-
testCalcMemberIsSetFails
public void testCalcMemberIsSetFails()
-
testBracketInCalcMemberName
public void testBracketInCalcMemberName()
Tests that calculated members can have brackets in their names. (Bug 1251683.)
-
testNpeInIif
public void testNpeInIif()
Tests that IIf works OK even if its argument returns the NULL value. (Bug 1418689.)
-
testBracketInCubeCalcMemberName
public void testBracketInCubeCalcMemberName()
Tests that calculated members defined in the schema can have brackets in their names. (Bug 1251683.)
-
testPropertyReferencesCalcMember
public void testPropertyReferencesCalcMember()
-
testCalcMemberWithQuote
public void testCalcMemberWithQuote()
-
testQuoteInCalcMember
public void testQuoteInCalcMember()
-
testChildrenOfCalcMembers
public void testChildrenOfCalcMembers()
-
testNonCharacterMembers
public void testNonCharacterMembers()
-
testFormatString
public void testFormatString()
-
testNegativeSolveOrder
public void testNegativeSolveOrder()
Testcase for bug MONDRIAN-263, Negative Solve Orders broken.
-
testCalcMemberCustomFormatterInQuery
public void testCalcMemberCustomFormatterInQuery()
-
testCalcMemberCustomFormatterInQueryNegative
public void testCalcMemberCustomFormatterInQueryNegative()
-
testCalcMemberCustomFormatterInQueryNegative2
public void testCalcMemberCustomFormatterInQueryNegative2()
-
testCalcMemberCustomFormatterInNonMeasureInQuery
public void testCalcMemberCustomFormatterInNonMeasureInQuery()
-
testCalcMemberCustomFormatterInSchema
public void testCalcMemberCustomFormatterInSchema()
-
testCalcMemberCustomFormatterInSchemaNegative
public void testCalcMemberCustomFormatterInSchemaNegative()
-
testStrToSetInCubeCalcMember
public void testStrToSetInCubeCalcMember()
Testcase for bug 1784617, "Using StrToTuple() in schema errors out".
-
testCreateCalculatedMember
public void testCreateCalculatedMember()
-
testSetIncludesSelf
public void testSetIncludesSelf()
Tests a calculated member which aggregates over a set which would seem to include the calculated member (but does not).
-
testNegativeSolveOrderForCalMemberWithFilter
public void testNegativeSolveOrderForCalMemberWithFilter()
Tests that if a filter is associated with input to a cal member with lower solve order; the filter computation uses the context that contains the other cal members(those with higher solve order).
-
testNegativeSolveOrderForCalMemberWithFilters2
public void testNegativeSolveOrderForCalMemberWithFilters2()
Tests that if a filter is associated with input to a cal member with higher solve order; the filter computation ignores the other cal members.
-
testNonTopLevelCalculatedMember
public void testNonTopLevelCalculatedMember()
Test case for MONDRIAN-335, "Issues with calculated members". Verify that the calculated member [Product].[Food].[Test] definition does not throw errors and returns expected results.
-
testCalculatedMemberChildren
public void testCalculatedMemberChildren()
Test case for MONDRIAN-335, "Issues with calculated members". Verify that the calculated member [Product].[Test] returns an empty children list vs. invalid behavior of returning [All Products].Children
-
testCalculatedMemberMSASCompatibility
public void testCalculatedMemberMSASCompatibility()
-
testSimulatedCompoundSlicer
public void testSimulatedCompoundSlicer()
Query that simulates a compound slicer by creating a calculated member that aggregates over a set and places it in the WHERE clause.
-
testCompoundSlicerOverTuples
public void testCompoundSlicerOverTuples()
-
testExponentialPerformanceBugMondrian608
public void testExponentialPerformanceBugMondrian608()
Testcase for bug MONDRIAN-608, "Performance issue with large number of measures".
-
testCycleFalsePositive
public void testCycleFalsePositive()
Test case for MONDRIAN-638, "Stack trace when grand total turned on". The cause of the problem were negative SOLVE_ORDER values. We were incorrectly populating RolapEvaluator.expandingMember from the parent evaluator, which made it look like two evaluation contexts were expanding the same member.
-
testBugMondrian852
public void testBugMondrian852()
Testcase for bug MONDRIAN-852, "Using the generate command, cast and calculated measures causes ClassCastException".The problem is in the implicit conversion that occurs when using a member as a numeric value. (In this case the conversion occurs because we apply the numeric operator '/'.) We have to assume at prepare time that the current measure will be numeric, but at run time the value may be a string.
We were wrongly throwing a ClassCastException. Correct behavior is an evaluation exception: the cell is in error, but the query as a whole succeeds.
-
testNonCanonical
public void testNonCanonical()
Tests referring to a calc member by a name other than its canonical unique name.
-
testCalcMemberParentOfCalcMember
public void testCalcMemberParentOfCalcMember()
-
testCalcMemberSameNameDifferentHierarchies
public void testCalcMemberSameNameDifferentHierarchies()
-
testCalcMemberTooDeep
public void testCalcMemberTooDeep()
-
-