public class NonEmptyTest extends BatchTestCase
BatchTestCase.Bomb, BatchTestCase.CellRequestConstraint, BatchTestCase.TestCase, BatchTestCase.TestListener
Modifier and Type | Field and Description |
---|---|
(package private) TestContext |
localTestContext |
(package private) SqlConstraintFactory |
scf |
cubeNameSales, fieldGender, fieldProductDepartment, fieldProductFamily, fieldValueProductDepartment, fieldValuesGender, fieldValuesProductFamily, fieldValuesYear, fieldYear, measureUnitSales, tableCustomer, tableProductClass, tableTime
propSaver
Constructor and Description |
---|
NonEmptyTest() |
NonEmptyTest(String name) |
Modifier and Type | Method and Description |
---|---|
(package private) RolapEvaluator |
getEvaluator(Result res,
int[] pos) |
(package private) SmartMemberReader |
getSharedSmartMemberReader(Connection con,
String hierName) |
(package private) SmartMemberReader |
getSharedSmartMemberReader(String hierName) |
(package private) SmartMemberReader |
getSmartMemberReader(Connection con,
String hierName) |
(package private) SmartMemberReader |
getSmartMemberReader(String hierName) |
TestContext |
getTestContext()
Returns the test context.
|
void |
setTestContext(TestContext testContext) |
protected void |
setUp() |
protected void |
tearDown() |
void |
testAllLevelMembers()
getMembersInLevel where Level = (All)
|
void |
testAllMembersNECJ1()
Verify that the presence of All member in all the inputs disables native
evaluation.
|
void |
testAllMembersNECJ2()
Verify that the native evaluation is possible if one input does not
contain the All member.
|
void |
testAnalyzerPerformanceIssue()
Test case for an issue where mondrian failed to use native evaluation
for evaluating crossjoin.
|
void |
testBug1412384() |
void |
testBug1515302() |
void |
testBug1791609NonEmptyCrossJoinEliminatesCalcMember()
Tests bug 1791609, "CrossJoin non empty optimizer eliminates calculated
member".
|
void |
testBug1961163() |
void |
testBugCantRestrictSlicerToCalcMember() |
void |
testBugMondrian321()
|
void |
testBugMondrian412()
|
void |
testBugMondrian584EnumOrder() |
void |
testBugMondrian897DoubleNamedSetDefinitions()
|
void |
testCalcMemberWithNonEmptyCrossJoin()
Make sure that the Crossjoin in [Measures].[CustomerCount]
is not evaluated in NON EMPTY context.
|
void |
testCalculatedDefaultMeasureOnVirtualCubeNoThrowException()
Before the fix this test would throw an IndexOutOfBounds exception
in SqlConstraintUtils.removeDefaultMembers.
|
void |
testCalculatedSlicerMember() |
void |
testCjChildrenChildren() |
void |
testCjChildrenMembers() |
void |
testCjDescendantsEnum() |
void |
testCjDescendantsEnumAll()
enum sets {} containing members from different levels can not be computed
natively currently.
|
void |
testCjDescendantsEnumAllOnly()
enum sets {} containing ALL
|
void |
testCjDescendantsMembers() |
void |
testCjEnumCalcMembers() |
void |
testCjEnumCalcMembersBug() |
void |
testCjEnumChildren() |
void |
testCjEnumDifferentLevelsChildren()
{} contains members from different levels, this can not be handled by
the current native crossjoin.
|
void |
testCjEnumEmptyCalcMembers() |
void |
testCjEnumEnum()
use SQL even when all members are known
|
void |
testCjEnumWithHideIfBlankLeaf() |
void |
testCjMembersChildren() |
void |
testCjMembersDescendants() |
void |
testCjMembersDescendantsWithNumericArgument() |
void |
testCjMembersMembers() |
void |
testCjMembersMembersMembers() |
void |
testCjMembersWithHideIfBlankLeaf() |
void |
testCjMembersWithHideIfBlankLeafAndNoAll() |
void |
testCjMembersWithHideIfBlankNameAncestor() |
void |
testCjMembersWithHideIfParentsNameAncestor() |
void |
testCjMembersWithHideIfParentsNameLeaf() |
void |
testCjNullInEnum()
Set containing only null member should not prevent usage of native.
|
void |
testCjUnionEnumCalcMembers() |
void |
testCmInSlicer()
Calc member in slicer cannot be executed natively.
|
void |
testCmInSlicerResults() |
void |
testCmInTopCount()
Calc Member in TopCount: this topcount can not be calculated native
because its set contains calculated members.
|
void |
testCmNativeTopCount()
Checks that TopCount is executed natively with calculated member.
|
void |
testConstrainedMeasureGetsOptimized() |
void |
testContextAtAllWorksWithConstraint() |
void |
testCrossjoin()
When a member is expanded in JPivot with mulitple hierarchies visible it
generates a
CrossJoin({[member from left hierarchy]}, [member to
expand].Children) |
void |
testCrossJoinEvaluatorContext1() |
void |
testCrossJoinEvaluatorContext2() |
void |
testCrossJoinMultiInExprAllMember() |
void |
testCrossJoinNamedSets1() |
void |
testCrossJoinNamedSets2() |
void |
testCrossJoinSetWithCrossProdMembers() |
void |
testCrossJoinSetWithDifferentParents() |
void |
testCrossJoinSetWithSameParent() |
void |
testCrossJoinSetWithUniqueLevel() |
void |
testCrossjoinWithOneDimensionThatDoesNotJoinToBothBaseCubes() |
void |
testCrossjoinWithTwoDimensionsJoiningToOppositeBaseCubes() |
void |
testDependentSlicerMemberNative() |
void |
testDependentSlicerMemberNonNative() |
void |
testDimensionMembers()
Tests that
|
void |
testEnumLowMaxConstraints()
Verify that native MemberLists inputs are subject to SQL constriant
limitation.
|
void |
testExpandAllMembersInAllInputs()
Verify that the presence of All member in all the inputs disables native
evaluation, even when ExpandNonNative is true.
|
void |
testExpandAllNonNativeInputs()
Verifies that CrossJoins with two non native inputs can be natively
evaluated.
|
void |
testExpandCalcMemberInputNECJ()
Check that if both inputs to NECJ are either
AllMember(currentMember, defaultMember are also AllMember)
or Calcculated member
native CJ is not used.
|
void |
testExpandCalcMembers()
Native evaluation is no longer possible after the fix to
testCjEnumCalcMembersBug() test. |
void |
testExpandCalcMembersInAllInputs()
Verifies that the presence of calculated member in all the inputs
disables native evaluation, even when ExpandNonNative is true.
|
void |
testExpandDifferentLevels()
Verify that native evaluation is not enabled if expanded member list will
contain members from different levels, even if ExpandNonNative is set.
|
void |
testExpandLowMaxConstraints()
Verify that a low value for maxConstraints disables native evaluation,
even when ExpandNonNative is true.
|
void |
testExpandNestedNonNativeInputs()
Verify that evaluation is native for expressions with nested non native
inputs that preduce MemberList results.
|
void |
testExpandNonNativeResourceLimitFailure()
Check that the ExpandNonNative does not create Joins with input lists
containing large number of members.
|
void |
testExpandNonNativeWithEnableNativeCrossJoin()
|
void |
testExpandOneNonNativeInput()
Verifies that CrossJoins with one non native inputs can be natively
evaluated.
|
void |
testExpandTupleInputs1()
Verify that native evaluation is turned off for tuple inputs, even if
ExpandNonNative is set.
|
void |
testExpandTupleInputs2()
Verify that native evaluation is turned off for tuple inputs, even if
ExpandNonNative is set.
|
void |
testExpandWithOneEmptyInput()
Verify that native evaluation is on when ExpendNonNative is set, even if
the input list is empty.
|
void |
testExpandWithTwoEmptyInputs() |
void |
testFilterChildlessSnowflakeMembers() |
void |
testFilterChildlessSnowflakeMembers2() |
void |
testIndependentSlicerMemberNative() |
void |
testIndependentSlicerMemberNonNative() |
void |
testLeafMembersOfParentChildDimensionAreNativelyEvaluated() |
void |
testLevelMembers() |
void |
testLevelMembersWillConstrainUsingArgsFromAllAxes() |
void |
testLevelMembersWithoutNonEmpty() |
void |
testLookupMember()
When looking for [Month] Mondrian generates SQL that tries to find
'Month' as a member of the time dimension.
|
void |
testLookupMember2()
SQL Optimization must be turned off in ragged hierarchies.
|
void |
testLookupMemberCache()
when Mondrian parses a string like
"[Store].[All Stores].[USA].[CA].[San Francisco]"
it shall not lookup additional members.
|
void |
testMeasureAndAggregateInSlicer() |
void |
testMeasureConstraintsInACrossjoinHaveCorrectResults() |
void |
testMeasureInSlicer() |
void |
testMemberChildrenNameCol()
Testcase for bug 1379068, which causes no children of [Time].[1997].[Q2]
to be found, because it incorrectly constrains on the level's key column
rather than name column.
|
void |
testMemberChildrenNoWhere()
Tests non empty children of All member w/o WHERE clause
|
void |
testMemberChildrenOfAllMember()
Tests non empty children of All member
|
void |
testMemberChildrenOfRolapMember()
Tests non empty children of rolap member
|
void |
testMon2202AnalyzerCompoundMeasureFilterPlusTopCount() |
void |
testMon2202AnalyzerFilter() |
void |
testMon2202AnalyzerPercOfMeasure() |
void |
testMon2202AnalyzerRunningSum() |
void |
testMon2202AnalyzerTopCount() |
void |
testMon2202RunningSum() |
void |
testMon2202SeveralFilteredHierarchiesPlusMeasureFilter() |
void |
testMondrian1133()
Test case for
MONDRIAN-1133
|
void |
testMondrian1133WithAggs()
Test case for
MONDRIAN-1133
|
void |
testMondrian1658()
Test case for
MONDRIAN-1658
|
void |
testMondrian2202WithAggTopCountSet() |
void |
testMondrian2202WithConflictingMemberInSlicer() |
void |
testMondrian2202WithCrossjoin() |
void |
testMondrian2202WithFilter() |
void |
testMondrian2202WithLevelMembers() |
void |
testMondrian2202WithMeasureContainingCJ() |
void |
testMondrian2202WithParameter() |
void |
testMondrian2202WithTopCount() |
void |
testMultiLevelMemberConstraintMixedNullNonNullParent()
Check that multi-level member list generates compact form of SQL where
clause:
(1) Use IN list if possible(not possible if there are null values because
NULLs in IN lists do not match)
(2) Group members sharing the same parent, including parents with NULLs.
|
void |
testMultiLevelMemberConstraintNonNullParent()
Checks that multi-level member list generates compact form of SQL where
clause:
(1) Use IN list if possible
(2) Group members sharing the same parent
(3) Only need to compare up to the first unique parent level.
|
void |
testMultiLevelMemberConstraintNullParent()
Checks that multi-level member list generates compact form of SQL where
clause:
(1) Use IN list if possible(not possible if there are null values because
NULLs in IN lists do not match)
(2) Group members sharing the same parent, including parents with NULLs.
|
void |
testMultiLevelMemberConstraintWithMixedNullNonNullChild()
Check that multi-level member list generates compact form of SQL where
clause:
(1) Use IN list if possible(not possible if there are null values because
NULLs in IN lists do not match)
(2) Group members sharing the same parent
(3) Only need to compare up to the first unique parent level.
|
void |
testNativeCJWithRedundantSetBraces()
verifies that redundant set braces do not prevent native evaluation
for example, {[Store].[Store Name].members} and
{{[Store Type].[Store Type].members}}
|
void |
testNativeCrossjoinWillConstrainUsingArgsFromAllAxes() |
void |
testNativeCrossjoinWillExpandFirstLastChild() |
void |
testNativeCrossjoinWillExpandLagInNamedSet() |
void |
testNativeTopCount()
Checks that TopCount is executed natively unless disabled.
|
void |
testNativeWithOverriddenNullMemberRepAndNullConstraint() |
void |
testNestedMeasureConstraintsGetOptimized() |
void |
testNonEmptyAggregateSlicerIsNative()
Native CrossJoin with a ranged slicer.
|
void |
testNonEmptyCJWithMultiPositionSlicer()
|
void |
testNonEmptyCrossJoinList()
Non Empty CrossJoin (A,B) gets turned into CrossJoin (Non Empty(A), Non
Empty(B)).
|
void |
testNonEmptyDescendants()
Ensures that NON EMPTY Descendants is optimized.
|
void |
testNonEmptyLevelMembers()
Test that executes <Level>.Members and applies a non-empty
constraint.
|
void |
testNonEmptyOnNonJoiningValidMeasure() |
void |
testNonEmptyResults() |
void |
testNonEmptyUnionQuery() |
void |
testNonEmptyWithCalcMeasure()
Test for bug #1696772
Modified which calculations are tested for non native, non empty joins
|
void |
testNonEmptyWithWeirdDefaultMember()
Tests the behavior if you have NON EMPTY on both axes, and the default
member of a hierarchy is not 'all' or the first child.
|
void |
testNonEmpyOnVirtualCubeWithNonJoiningDimension() |
void |
testNonLeafMembersOfPCDimensionAreNotNativelyEvaluated() |
void |
testNonUniformConstraintsAreNotUsedForOptimization() |
void |
testNonUniformNestedMeasureConstraintsGetOptimized() |
void |
testNotNativeVirtualCubeCrossJoin1() |
void |
testNotNativeVirtualCubeCrossJoin2() |
void |
testNotNativeVirtualCubeCrossJoinCalculatedMember() |
void |
testNotNativeVirtualCubeCrossJoinUnsupported() |
void |
testResultIsModifyableCopy()
checks that crossjoin returns a modifiable copy from cache
because its modified during sort
|
void |
testSetInSlicerResults() |
void |
testStrMeasure() |
void |
testTopCountCacheKeyMustIncludeCount() |
void |
testTopCountWithCalcMemberInSlicer() |
void |
testVCNativeCJWithIsEmptyOnMeasure() |
void |
testVCNativeCJWithTopPercent() |
void |
testVCOrdinalExpression() |
void |
testVirtualCube()
Must not use native sql optimization because it chooses the wrong
RolapStar in SqlContextConstraint/SqlConstraintUtils.
|
void |
testVirtualCubeCrossJoin() |
void |
testVirtualCubeCrossJoinCalculatedMember1() |
void |
testVirtualCubeCrossJoinCalculatedMember2() |
void |
testVirtualCubeMembers() |
void |
testVirtualCubeNonEmptyCrossJoin() |
void |
testVirtualCubeNonEmptyCrossJoin3Args() |
assertNative, assertNoQuerySql, assertNotNative, assertQuerySql, assertQuerySql, assertQuerySql, assertQuerySqlOrNot, assertRequestSql, assertRequestSql, checkNative, checkNative, checkNative, checkNotNative, checkNotNative, checkNotNative, clearAndHardenCache, createBatch, createBatch, createRequest, createRequest, createRequest, createRequest, dialectize, executeQuery, getCube, getFoodMartConnection, getGroupingSet, getMeasure, getRegistry, makeConstraintCountryState, makeConstraintProductFamilyDepartment, makeConstraintYearQuarterMonth, mysqlPattern, sqlPattern
allMember, assertAxisReturns, assertAxisThrows, assertBooleanExprReturns, assertExprReturns, assertExprThrows, assertQueriesReturnSimilarResults, assertQueryReturns, assertQueryThrows, assertSize, cubeByName, execute, executeExpr, executeQuery, executeSingletonAxis, genderMembersIncludingAll, getConnection, getDimensionWithName, isDefaultNullMemberRepresentation, isGroupingSetsSupported, member, productMembersPotScrubbersPotsAndPans, storeMembersCAAndOR, storeMembersUsaAndCanada, verifySameNativeAndNot, warehouseMembersCanadaMexicoUsa
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
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
SqlConstraintFactory scf
TestContext localTestContext
public NonEmptyTest()
public NonEmptyTest(String name)
protected void setUp() throws Exception
setUp
in class junit.framework.TestCase
Exception
protected void tearDown() throws Exception
tearDown
in class FoodMartTestCase
Exception
public TestContext getTestContext()
FoodMartTestCase
getTestContext
in class FoodMartTestCase
public void setTestContext(TestContext testContext)
public void testBugMondrian584EnumOrder()
public void testBugCantRestrictSlicerToCalcMember() throws Exception
Exception
public void testAnalyzerPerformanceIssue()
public void testTopCountWithCalcMemberInSlicer()
public void testTopCountCacheKeyMustIncludeCount()
public void testStrMeasure()
public void testBug1515302()
public void testVirtualCube()
public void testNativeCJWithRedundantSetBraces()
public void testExpandAllNonNativeInputs()
public void testExpandOneNonNativeInput()
public void testExpandNonNativeResourceLimitFailure()
public void testExpandAllMembersInAllInputs()
public void testExpandCalcMembersInAllInputs()
public void testExpandCalcMemberInputNECJ()
public void testExpandCalcMembers()
testCjEnumCalcMembersBug()
test.public void testExpandNestedNonNativeInputs()
public void testExpandLowMaxConstraints()
public void testExpandDifferentLevels()
public void testExpandTupleInputs1()
public void testExpandTupleInputs2()
public void testExpandWithOneEmptyInput()
public void testExpandWithTwoEmptyInputs()
public void testEnumLowMaxConstraints()
public void testAllMembersNECJ1()
public void testAllMembersNECJ2()
public void testAllLevelMembers()
public void testCjDescendantsEnumAllOnly()
public void testResultIsModifyableCopy()
public void testNativeTopCount()
public void testCmNativeTopCount()
public void testMeasureAndAggregateInSlicer()
public void testMeasureInSlicer()
public void testCmInTopCount()
public void testCmInSlicer()
public void testCmInSlicerResults()
public void testSetInSlicerResults()
public void testCjMembersMembersMembers()
public void testCjMembersWithHideIfBlankLeafAndNoAll()
public void testCjMembersWithHideIfBlankLeaf()
public void testCjMembersWithHideIfParentsNameLeaf()
public void testCjMembersWithHideIfBlankNameAncestor()
public void testCjMembersWithHideIfParentsNameAncestor()
public void testCjEnumWithHideIfBlankLeaf()
public void testCjEnumEnum()
public void testCjNullInEnum()
public void testCjDescendantsEnumAll()
public void testCjDescendantsEnum()
public void testCjEnumChildren()
public void testCjEnumDifferentLevelsChildren()
public void testCjDescendantsMembers()
public void testCjMembersDescendants()
public void testCjMembersDescendantsWithNumericArgument()
public void testCjChildrenMembers()
public void testCjMembersChildren()
public void testCjMembersMembers()
public void testCjChildrenChildren()
public void testMultiLevelMemberConstraintNonNullParent()
public void testMultiLevelMemberConstraintNullParent()
public void testMultiLevelMemberConstraintMixedNullNonNullParent()
public void testMultiLevelMemberConstraintWithMixedNullNonNullChild()
public void testNonEmptyUnionQuery()
public void testLookupMemberCache()
public void testLookupMember()
public void testNonEmptyCrossJoinList()
public void testLookupMember2()
public void testCalcMemberWithNonEmptyCrossJoin()
public void testLevelMembers()
public void testLevelMembersWithoutNonEmpty()
public void testDimensionMembers()
public void testMemberChildrenOfRolapMember()
public void testMemberChildrenOfAllMember()
public void testMemberChildrenNoWhere()
public void testMemberChildrenNameCol()
public void testCrossjoin()
CrossJoin({[member from left hierarchy]}, [member to
expand].Children)
This should behave the same as if [member from left
hierarchy]
was put into the slicer.
public void testNonEmptyDescendants()
public void testBug1412384()
public void testVirtualCubeCrossJoin()
public void testVirtualCubeNonEmptyCrossJoin()
public void testVirtualCubeNonEmptyCrossJoin3Args()
public void testNotNativeVirtualCubeCrossJoin1()
public void testNotNativeVirtualCubeCrossJoin2()
public void testNotNativeVirtualCubeCrossJoinUnsupported()
public void testVirtualCubeCrossJoinCalculatedMember1()
public void testVirtualCubeCrossJoinCalculatedMember2()
public void testNotNativeVirtualCubeCrossJoinCalculatedMember()
public void testCjEnumCalcMembers()
public void testCjEnumCalcMembersBug()
public void testCjEnumEmptyCalcMembers()
public void testCjUnionEnumCalcMembers()
public void testNonEmptyWithWeirdDefaultMember()
public void testCrossJoinNamedSets1()
public void testCrossJoinNamedSets2()
public void testCrossJoinSetWithDifferentParents()
public void testCrossJoinSetWithCrossProdMembers()
public void testCrossJoinSetWithSameParent()
public void testCrossJoinSetWithUniqueLevel()
public void testCrossJoinMultiInExprAllMember()
public void testCrossJoinEvaluatorContext1()
public void testCrossJoinEvaluatorContext2()
public void testVCNativeCJWithIsEmptyOnMeasure()
public void testVCNativeCJWithTopPercent()
public void testVCOrdinalExpression()
public void testNonEmptyWithCalcMeasure()
public void testCalculatedSlicerMember()
public void testIndependentSlicerMemberNonNative()
public void testIndependentSlicerMemberNative()
public void testDependentSlicerMemberNonNative()
public void testDependentSlicerMemberNative()
public void testBug1791609NonEmptyCrossJoinEliminatesCalcMember()
public void testNonEmptyLevelMembers()
native
is enabled.
Testcase for bug
1722959, "NON EMPTY Level.MEMBERS fails if nonempty.enable=false"public void testNonEmptyResults()
public void testBugMondrian412()
public void testNonEmpyOnVirtualCubeWithNonJoiningDimension()
public void testNonEmptyOnNonJoiningValidMeasure()
public void testCrossjoinWithTwoDimensionsJoiningToOppositeBaseCubes()
public void testCrossjoinWithOneDimensionThatDoesNotJoinToBothBaseCubes()
public void testLeafMembersOfParentChildDimensionAreNativelyEvaluated()
public void testNonLeafMembersOfPCDimensionAreNotNativelyEvaluated()
public void testNativeWithOverriddenNullMemberRepAndNullConstraint()
public void testBugMondrian321()
public void testNativeCrossjoinWillConstrainUsingArgsFromAllAxes()
public void testLevelMembersWillConstrainUsingArgsFromAllAxes()
public void testNativeCrossjoinWillExpandFirstLastChild()
public void testNativeCrossjoinWillExpandLagInNamedSet()
public void testConstrainedMeasureGetsOptimized()
public void testNestedMeasureConstraintsGetOptimized()
public void testNonUniformNestedMeasureConstraintsGetOptimized()
public void testNonUniformConstraintsAreNotUsedForOptimization()
public void testMeasureConstraintsInACrossjoinHaveCorrectResults()
public void testContextAtAllWorksWithConstraint()
public void testCalculatedDefaultMeasureOnVirtualCubeNoThrowException()
public void testExpandNonNativeWithEnableNativeCrossJoin()
public void testNonEmptyCJWithMultiPositionSlicer()
SmartMemberReader getSmartMemberReader(String hierName)
SmartMemberReader getSmartMemberReader(Connection con, String hierName)
SmartMemberReader getSharedSmartMemberReader(String hierName)
SmartMemberReader getSharedSmartMemberReader(Connection con, String hierName)
RolapEvaluator getEvaluator(Result res, int[] pos)
public void testFilterChildlessSnowflakeMembers2()
public void testFilterChildlessSnowflakeMembers()
public void testBugMondrian897DoubleNamedSetDefinitions()
public void testMondrian1133()
RolapNativeFilter would force the join to the fact table. Some queries don't need to be joined to it and gain in performance.
public void testMondrian1133WithAggs()
RolapNativeFilter would force the join to the fact table. Some queries don't need to be joined to it and gain in performance.
This one is for agg tables turned on.
public void testNonEmptyAggregateSlicerIsNative()
public void testMondrian1658()
Error: Tuple length does not match arity
An empty set argument to crossjoin caused native evaluation to return an incorrect type which in turn caused the types for each argument to union to be different
public void testMondrian2202WithConflictingMemberInSlicer()
public void testMondrian2202WithCrossjoin()
public void testMondrian2202WithLevelMembers()
public void testMondrian2202WithAggTopCountSet()
public void testMondrian2202WithParameter()
public void testMondrian2202WithFilter()
public void testMondrian2202WithTopCount()
public void testMondrian2202WithMeasureContainingCJ()
public void testMon2202RunningSum()
public void testMon2202AnalyzerTopCount()
public void testMon2202AnalyzerFilter()
public void testMon2202AnalyzerPercOfMeasure()
public void testMon2202AnalyzerRunningSum()
public void testMon2202SeveralFilteredHierarchiesPlusMeasureFilter()
public void testMon2202AnalyzerCompoundMeasureFilterPlusTopCount()