mondrian.test
Class SolveOrderScopeIsolationTest
java.lang.Object
junit.framework.Assert
junit.framework.TestCase
mondrian.test.FoodMartTestCase
mondrian.test.SolveOrderScopeIsolationTest
- All Implemented Interfaces:
- junit.framework.Test
public class SolveOrderScopeIsolationTest
- extends FoodMartTestCase
SolveOrderScopeIsolationTest
Test conformance to SSAS2005 solve
order scope isolation behavior.
Scope Isolation: In SQL Server 2005 Analysis Services, when a cube
Multidimensional Expressions (MDX) script contains calculated members,
by default the calculated members are resolved before any session-scoped
calculations are resolved and before any query-defined calculations are
resolved. This is different from SQL Server 2000 Analysis Services behavior,
where solve order can explicitly be used to insert a session-scoped or
query-defined calculation in between two cube-level calculations.
Further details at: http://msdn2.microsoft.com/en-us/library/ms144787.aspx
This initial set of tests are added to indicate the kind of behavior that is
expected to support this SSAS 2005 feature. All tests start with an
underscore so as to not to execute even if the test class is added to Main
- Since:
- Apr 04, 2008
- Author:
- ajogleka
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, isDefaultNullMemberRepresentation, isGroupingSetsSupported, member, productMembersPotScrubbersPotsAndPans, storeMembersCAAndOR, storeMembersUsaAndCanada, warehouseMembersCanadaMexicoUsa |
Methods inherited from class junit.framework.TestCase |
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString |
Methods inherited from class junit.framework.Assert |
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail |
defaultSolveOrderMode
SolveOrderMode defaultSolveOrderMode
SolveOrderScopeIsolationTest
public SolveOrderScopeIsolationTest()
setUp
public void setUp()
throws Exception
- Overrides:
setUp
in class junit.framework.TestCase
- Throws:
Exception
tearDown
public void tearDown()
throws Exception
- Overrides:
tearDown
in class FoodMartTestCase
- Throws:
Exception
setSolveOrderMode
final void setSolveOrderMode(SolveOrderMode mode)
getTestContext
public TestContext getTestContext()
- Description copied from class:
FoodMartTestCase
- Returns the test context. Override this method if you wish to use a
different source for your FoodMart connection.
- Overrides:
getTestContext
in class FoodMartTestCase
testAllSolveOrderModesHandled
public void testAllSolveOrderModesHandled()
testSetSolveOrderMode
public void testSetSolveOrderMode()
testOverrideCubeMemberDoesNotHappenAbsolute
public void testOverrideCubeMemberDoesNotHappenAbsolute()
testOverrideCubeMemberDoesNotHappenScoped
public void testOverrideCubeMemberDoesNotHappenScoped()
_future_testOverrideCubeMemberHappensWithScopeIsolation
public void _future_testOverrideCubeMemberHappensWithScopeIsolation()
- Test for future capability: SCOPE_ISOLATION=CUBE which is implemented in
Analysis Services but not yet in Mondrian.
testCubeMemberEvalBeforeQueryMemberAbsolute
public void testCubeMemberEvalBeforeQueryMemberAbsolute()
testCubeMemberEvalBeforeQueryMemberScoped
public void testCubeMemberEvalBeforeQueryMemberScoped()
testOverrideCubeMemberInTupleDoesNotHappenAbsolute
public void testOverrideCubeMemberInTupleDoesNotHappenAbsolute()
testOverrideCubeMemberInTupleDoesNotHappenScoped
public void testOverrideCubeMemberInTupleDoesNotHappenScoped()
testConditionalCubeMemberEvalBeforeOtherMembersAbsolute
public void testConditionalCubeMemberEvalBeforeOtherMembersAbsolute()
testConditionalCubeMemberEvalBeforeOtherMembersScoped
public void testConditionalCubeMemberEvalBeforeOtherMembersScoped()
testOverrideCubeMemberUsingStrToMemberDoesNotHappenAbsolute
public void testOverrideCubeMemberUsingStrToMemberDoesNotHappenAbsolute()
testOverrideCubeMemberUsingStrToMemberDoesNotHappenScoped
public void testOverrideCubeMemberUsingStrToMemberDoesNotHappenScoped()
testAggregateMemberEvalAfterOtherMembersAbsolute
public void testAggregateMemberEvalAfterOtherMembersAbsolute()
- This test validates that behavior is consistent with Analysis Services
2000 when Solve order scope is ABSOLUTE. AS2K will throw an error
whenever attempting to aggregate over calculated members (i.e. when the
solve order of the Aggregate member is higher than the calculations it
intersects with).
testAggregateMemberEvalAfterOtherMembersScoped
public void testAggregateMemberEvalAfterOtherMembersScoped()
testConditionalAggregateMemberEvalAfterOtherMembersAbsolute
public void testConditionalAggregateMemberEvalAfterOtherMembersAbsolute()
- This test validates that behavior is consistent with Analysis Services
2000 when Solve order scope is ABSOLUTE. AS2K will throw an error
whenever attempting to aggregate over calculated members (i.e. when the
solve order of the Aggregate member is higher than the calculations it
intersects with).
testConditionalAggregateMemberEvalAfterOtherMembersScoped
public void testConditionalAggregateMemberEvalAfterOtherMembersScoped()
testStrToMemberReturningAggEvalAfterOtherMembersAbsolute
public void testStrToMemberReturningAggEvalAfterOtherMembersAbsolute()
- This test validates that behavior is consistent with Analysis Services
2000 when Solve order scope is ABSOLUTE. AS2K will throw an error
whenever attempting to aggregate over calculated members (i.e. when the
solve order of the Aggregate member is higher than the calculations it
intersects with).
testStrToMemberReturningAggEvalAfterOtherMembersScoped
public void testStrToMemberReturningAggEvalAfterOtherMembersScoped()
test2LevelOfOverrideCubeMemberDoesNotHappenAbsolute
public void test2LevelOfOverrideCubeMemberDoesNotHappenAbsolute()
test2LevelOfOverrideCubeMemberDoesNotHappenScoped
public void test2LevelOfOverrideCubeMemberDoesNotHappenScoped()