|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.ecp.view.rule.test.CommonRuleTest
org.eclipse.emf.ecp.view.rule.test.RuleServiceTest
public class RuleServiceTest
Things to be tested. tests on control with rule: init wrong value , right value lifecycle wrong -> right; right -> wrong; wrong -> wrong; right -> right types: show, enable, hide, disable (2+4)*4 propagation tests: - test propagation from parent to child (no rule) [combinations same as rule on control] - test propagation from parent to child (rule != parent.rule) [combinations same as rule on control] domain wrong parent (s: disabled r:enable) child1 (s:visible r:hidden) child2 (s:enabled r:disable) init parent (s: disabled r:enable) child1 (s:visible r:hidden) child2 (s:disabled r:disable) parent(s:enabled) child (s:hidden) child2(s:disabled) dispose getInvolvedObjects objects if no change -> none, empty list objects if change -> only container of rule no side effects
Constructor Summary | |
---|---|
RuleServiceTest()
|
Method Summary | |
---|---|
void |
setUp()
Sets the up. |
void |
tearDown()
Tear down. |
void |
testContainmentConditionAddToEmptyList()
|
void |
testContainmentConditionInitEmptyList()
|
void |
testContainmentConditionWithShowRule()
|
void |
testContainmentConditionWithShowRuleFulFillCondition()
|
void |
testContainmentConditionWithShowRuleWithClearedMultiref()
|
void |
testDefaultRightToRightDisableRule()
Test default right to right disable rule. |
void |
testDefaultRightToRightEnableRule()
Test default right to right enable rule. |
void |
testDefaultRightToRightHideRule()
Test default right to right hide rule. |
void |
testDefaultRightToRightShowRule()
Test default right to right show rule. |
void |
testDefaultRightToWrongDisableRule()
Test default right to wrong disable rule. |
void |
testDefaultRightToWrongEnableRule()
Test default right to wrong enable rule. |
void |
testDefaultRightToWrongHideRule()
Test default right to wrong hide rule. |
void |
testDefaultRightToWrongShowRule()
Test default right to wrong show rule. |
void |
testDefaultWrongToRightDisableRule()
Test default wrong to right disable rule. |
void |
testDefaultWrongToRightEnableRule()
Test default wrong to right enable rule. |
void |
testDefaultWrongToRightHideRule()
Test default wrong to right hide rule. |
void |
testDefaultWrongToRightShowRule()
Test default wrong to right show rule. |
void |
testDefaultWrongToWrongDisableRule()
Test default wrong to wrong disable rule. |
void |
testDefaultWrongToWrongEnableRule()
Test default wrong to wrong enable rule. |
void |
testDefaultWrongToWrongHideRule()
Test default wrong to wrong hide rule. |
void |
testDefaultWrongToWrongShowRule()
Test default wrong to wrong show rule. |
void |
testDispose()
Test dispose. |
void |
testGetInvolvedEObjectChange()
Test get involved e object change. |
void |
testGetInvolvedEObjectChangeWithoutChangedValue()
Test get involved e object change. |
void |
testGetInvolvedEObjectNoChange()
Test get involved e object no change. |
void |
testGetInvolvedEObjectNoSideEffects()
Test get involved e object no side effects. |
void |
testGetInvolvedEObjectNoVanishingRenderables()
Test get involved e object change. |
void |
testGetInvolvedEObjectParentAffectedIfChildChanged()
Test get involved e object change. |
void |
testGetInvolvedEObjectParentAffectedIfChildNotChanged()
Test get involved e object change. |
void |
testGetInvolvedEObjectsHelperBothRulesApply()
Should return the control. |
void |
testGetInvolvedEObjectsHelperEnableRuleAppliesCorrectValue()
Should return the control because of the EnableRule on
the
control. |
void |
testGetInvolvedEObjectsHelperEnableRuleAppliesWrongValue()
Should return the control since the disable rule applies because of the wrong value. |
void |
testGetInvolvedEObjectsHelperNoRuleApplies()
Should return nothing since the correct value is set. |
void |
testGetInvolvedEObjectsHelperNoRuleAppliesFilterForComposite()
Should return the parent columns of the control. |
void |
testGetInvolvedEObjectsHelperShowRuleAppliesCorrectValue()
Should return the control because the column should be hidden, since 'League' is the right value and the we have a disable rule. |
void |
testGetInvolvedEObjectWithVanishingRenderableEnableRuleApplies()
Test get involved e object change. |
void |
testGetInvolvedEObjectWithVanishingRenderableShowRuleApplies()
Test get involved e object change. |
void |
testGetInvolvedEObjectWithVanishingRenderableTwoRulesApply()
Test get involved e object change. |
void |
testGetInvolvedEObjetsContainedMultiAttributeEmptySet()
|
void |
testGetInvolvedEObjetsContainedMultiAttributeMatch()
|
void |
testGetInvolvedEObjetsContainedMultiAttributeMatchViaNewEmptyListValue()
|
void |
testGetInvolvedEObjetsContainedMultiAttributeNoMatch()
|
void |
testGetInvolvedEObjetsContainedMultiAttributeNoMatchViaUpdatePlayer()
|
void |
testInitialization()
|
void |
testInitializationWithNullDomainModel()
|
void |
testInitializationWithNullViewModel()
|
void |
testInitParentDisableVsChildDisable()
|
void |
testInitParentDisableVsChildEnable()
|
void |
testInitParentEnableVsChildDisable()
|
void |
testInitParentEnableVsChildEnable()
|
void |
testInitParentHideVsChildHide()
|
void |
testInitParentHideVsChildShow()
|
void |
testInitParentShowVsChildHide()
|
void |
testInitParentShowVsChildShow()
|
void |
testInitRightDisableRule()
Test init right disable rule. |
void |
testInitRightEnableRule()
Test init right enable rule. |
void |
testInitRightHideRule()
Test init right hide rule. |
void |
testInitRightShowRule()
Test init right show rule. |
void |
testInitShowRuleInitWithAndConditionFirstConditionApplies()
Test AndCondition with first condition being true
while
initializing the rule service. |
void |
testInitShowRuleWithAndConditionNoConditionApplies()
Test AndCondition with none of the conditions being
true
while initializing the rule service. |
void |
testInitShowRuleWithAndConditionSecondConditionApplies()
Test AndCondition with second condition being true
while
initializing the rule service. |
void |
testInitShowRuleWithOrConditionBothConditionsApply()
Test OrCondition with both conditions being true
while
initializing the rule service. |
void |
testInitShowRuleWithOrConditionFirstConditionApplies()
Test OrCondition with first condition being true
while
initializing the rule service. |
void |
testInitShowRuleWithOrConditionNoConditionApplies()
Test OrCondition with none of the conditions being
true. |
void |
testInitShowRuleWithOrConditionSecondConditionApplies()
Test OrCondition with second condition being true
while
initializing the rule service. |
void |
testInitShowRuleWithTwoPossibleTargetsWhereBothSettingShouldApply()
|
void |
testInitShowRuleWithTwoPossibleTargetsWhereOnlyOneSettingShouldApply()
|
void |
testInitShowRuleWithTwoPossibleTargetsWhereTheOtherSettingShouldApply()
|
void |
testInitWrongDisableRule()
Test init wrong disable rule. |
void |
testInitWrongEnableRule()
Test init wrong enable rule. |
void |
testInitWrongHideRule()
Test init wrong hide rule. |
void |
testInitWrongShowRule()
Test init wrong show rule. |
void |
testMultiLevelPropagationOnInit()
Test multi level propagation on init. |
void |
testMultiLevelPropagationOnLifecycle()
Test multi level propagation on lifecycle. |
void |
testParentDisableVsChildDisable()
|
void |
testParentDisableVsChildEnable()
|
void |
testParentEnableVsChildDisable()
|
void |
testParentEnableVsChildEnable()
|
void |
testParentHideVsChildHide()
|
void |
testParentHideVsChildShow()
|
void |
testParentShowVsChildHide()
|
void |
testParentShowVsChildShow()
|
void |
testPropagationDisableRuleChildRuleRightInit()
Test propagation disable rule child rule right init. |
void |
testPropagationDisableRuleChildRuleRightToRight()
Test propagation disable rule child rule right to right. |
void |
testPropagationDisableRuleChildRuleRightToWrong()
Test propagation disable rule child rule right to wrong. |
void |
testPropagationDisableRuleChildRuleWrongInit()
Test propagation disable rule child rule wrong init. |
void |
testPropagationDisableRuleChildRuleWrongToRight()
Test propagation disable rule child rule wrong to right. |
void |
testPropagationDisableRuleChildRuleWrongToWrong()
Test propagation disable rule child rule wrong to wrong. |
void |
testPropagationDisableRuleNoChildRuleRightInit()
Test propagation disable rule no child rule right init. |
void |
testPropagationDisableRuleNoChildRuleRightToRight()
Test propagation disable rule no child rule right to right. |
void |
testPropagationDisableRuleNoChildRuleRightToWrong()
Test propagation disable rule no child rule right to wrong. |
void |
testPropagationDisableRuleNoChildRuleWrongInit()
Test propagation disable rule no child rule wrong init. |
void |
testPropagationDisableRuleNoChildRuleWrongToRight()
Test propagation disable rule no child rule wrong to right. |
void |
testPropagationDisableRuleNoChildRuleWrongToWrong()
Test propagation disable rule no child rule wrong to wrong. |
void |
testPropagationEnableRuleChildRuleRightInit()
Test propagation enable rule child rule right init. |
void |
testPropagationEnableRuleChildRuleRightToRight()
Test propagation enable rule child rule right to right. |
void |
testPropagationEnableRuleChildRuleRightToWrong()
Test propagation enable rule child rule right to wrong. |
void |
testPropagationEnableRuleChildRuleWrongInit()
Test propagation enable rule child rule wrong init. |
void |
testPropagationEnableRuleChildRuleWrongToRight()
Test propagation enable rule child rule wrong to right. |
void |
testPropagationEnableRuleChildRuleWrongToWrong()
Test propagation enable rule child rule wrong to wrong. |
void |
testPropagationEnableRuleNoChildRuleRightInit()
Test propagation enable rule no child rule right init. |
void |
testPropagationEnableRuleNoChildRuleRightToRight()
Test propagation enable rule no child rule right to right. |
void |
testPropagationEnableRuleNoChildRuleRightToWrong()
Test propagation enable rule no child rule right to wrong. |
void |
testPropagationEnableRuleNoChildRuleWrongInit()
Test propagation enable rule no child rule wrong init. |
void |
testPropagationEnableRuleNoChildRuleWrongToRight()
Test propagation enable rule no child rule wrong to right. |
void |
testPropagationEnableRuleNoChildRuleWrongToWrong()
Test propagation enable rule no child rule wrong to wrong. |
void |
testPropagationHideRuleChildRuleRightInit()
Test propagation hide rule child rule right init. |
void |
testPropagationHideRuleChildRuleRightToRight()
Test propagation hide rule child rule right to right. |
void |
testPropagationHideRuleChildRuleRightToWrong()
Test propagation hide rule child rule right to wrong. |
void |
testPropagationHideRuleChildRuleWrongInit()
Test propagation hide rule child rule wrong init. |
void |
testPropagationHideRuleChildRuleWrongToRight()
Test propagation hide rule child rule wrong to right. |
void |
testPropagationHideRuleChildRuleWrongToWrong()
Test propagation hide rule child rule wrong to wrong. |
void |
testPropagationHideRuleNoChildRuleRightInit()
Test propagation hide rule no child rule right init. |
void |
testPropagationHideRuleNoChildRuleRightToRight()
Test propagation hide rule no child rule right to right. |
void |
testPropagationHideRuleNoChildRuleRightToWrong()
Test propagation hide rule no child rule right to wrong. |
void |
testPropagationHideRuleNoChildRuleWrongInit()
Test propagation hide rule no child rule wrong init. |
void |
testPropagationHideRuleNoChildRuleWrongToRight()
Test propagation hide rule no child rule wrong to right. |
void |
testPropagationHideRuleNoChildRuleWrongToWrong()
Test propagation hide rule no child rule wrong to wrong. |
void |
testPropagationShowRuleChildRuleRightInit()
Test propagation show rule child rule right init. |
void |
testPropagationShowRuleChildRuleRightToRight()
Test propagation show rule child rule right to right. |
void |
testPropagationShowRuleChildRuleRightToWrong()
Test propagation show rule child rule right to wrong. |
void |
testPropagationShowRuleChildRuleWrongInit()
Test propagation show rule child rule wrong init. |
void |
testPropagationShowRuleChildRuleWrongToRight()
Test propagation show rule child rule wrong to right. |
void |
testPropagationShowRuleChildRuleWrongToWrong()
Test propagation show rule child rule wrong to wrong. |
void |
testPropagationShowRuleNoChildRuleRightInit()
Test propagation show rule no child rule right init. |
void |
testPropagationShowRuleNoChildRuleRightToRight()
Test propagation show rule no child rule right to right. |
void |
testPropagationShowRuleNoChildRuleRightToWrong()
Test propagation show rule no child rule right to wrong. |
void |
testPropagationShowRuleNoChildRuleWrongInit()
Test propagation show rule no child rule wrong init. |
void |
testPropagationShowRuleNoChildRuleWrongToRight()
Test propagation show rule no child rule wrong to right. |
void |
testPropagationShowRuleNoChildRuleWrongToWrong()
Test propagation show rule no child rule wrong to wrong. |
void |
testShowRuleWhereConditionReferencesAnotherTarget()
|
void |
testShowRuleWithAndConditionBothConditionsApply()
Test AndCondition with both conditions being true. |
void |
testShowRuleWithAndConditionFirstConditionApplies()
Test AndCondition with first condition being true. |
void |
testShowRuleWithAndConditionNoConditionApplies()
Test AndCondition with none of the conditions being
true. |
void |
testShowRuleWithAndConditionSecondConditionApplies()
Test AndCondition with second condition being true. |
void |
testShowRuleWithOrConditionBothConditionsApply()
Test OrCondition with both conditions being true. |
void |
testShowRuleWithOrConditionFirstConditionApplies()
Test OrCondition with first condition being true. |
void |
testShowRuleWithOrConditionNoConditionApplies()
Test OrCondition with none of the conditions being
true. |
void |
testShowRuleWithOrConditionSecondConditionApplies()
Test OrCondition with the second condition being
true. |
void |
testShowRuleWithTwoPossibleTargetsWhereBothSettingShouldApply()
|
void |
testShowRuleWithTwoPossibleTargetsWhereOnlyOneSettingShouldApply()
|
void |
testShowRuleWithTwoPossibleTargetsWhereTheOtherSettingShouldApply()
|
void |
testUnregisterOnViewModelContext()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RuleServiceTest()
Method Detail |
---|
public void setUp() throws Exception
Exception
- the exceptionpublic void tearDown() throws Exception
Exception
- the exceptionpublic void testInitialization()
public void testInitializationWithNullDomainModel()
public void testInitializationWithNullViewModel()
public void testUnregisterOnViewModelContext()
public void testInitRightShowRule()
public void testInitWrongShowRule()
public void testPropagationShowRuleNoChildRuleWrongInit()
public void testPropagationShowRuleNoChildRuleRightInit()
public void testPropagationShowRuleChildRuleWrongInit()
public void testPropagationShowRuleChildRuleRightInit()
public void testShowRuleWithOrConditionFirstConditionApplies()
OrCondition
with first condition being true.
Controls should be visible.
public void testShowRuleWithOrConditionSecondConditionApplies()
OrCondition
with the second condition being
true.
Controls should be visible.
public void testShowRuleWithOrConditionNoConditionApplies()
OrCondition
with none of the conditions being
true.
Controls should not be visible.
public void testInitShowRuleWithOrConditionFirstConditionApplies()
OrCondition
with first condition being true
while
initializing the rule service.
Controls should be visible.
public void testInitShowRuleWithOrConditionSecondConditionApplies()
OrCondition
with second condition being true
while
initializing the rule service.
Controls should be visible.
public void testInitShowRuleWithOrConditionBothConditionsApply()
OrCondition
with both conditions being true
while
initializing the rule service.
Controls should be visible.
public void testShowRuleWithOrConditionBothConditionsApply()
OrCondition
with both conditions being true.
Controls should be visible.
public void testInitShowRuleWithOrConditionNoConditionApplies()
OrCondition
with none of the conditions being
true.
Controls should not be visible.
public void testShowRuleWithAndConditionFirstConditionApplies()
AndCondition
with first condition being true.
Controls should not be visible.
public void testShowRuleWithAndConditionSecondConditionApplies()
AndCondition
with second condition being true.
Controls should not be visible.
public void testShowRuleWithAndConditionNoConditionApplies()
AndCondition
with none of the conditions being
true.
Controls should not be visible.
public void testShowRuleWithAndConditionBothConditionsApply()
AndCondition
with both conditions being true.
Controls should be visible.
public void testInitShowRuleInitWithAndConditionFirstConditionApplies()
AndCondition
with first condition being true
while
initializing the rule service.
Controls should not be visible.
public void testInitShowRuleWithAndConditionSecondConditionApplies()
AndCondition
with second condition being true
while
initializing the rule service.
Controls should not be visible.
public void testInitShowRuleWithAndConditionNoConditionApplies()
AndCondition
with none of the conditions being
true
while initializing the rule service.
Controls should not be visible.
public void testShowRuleWithTwoPossibleTargetsWhereOnlyOneSettingShouldApply()
public void testShowRuleWithTwoPossibleTargetsWhereTheOtherSettingShouldApply()
public void testShowRuleWhereConditionReferencesAnotherTarget()
public void testShowRuleWithTwoPossibleTargetsWhereBothSettingShouldApply()
public void testInitShowRuleWithTwoPossibleTargetsWhereOnlyOneSettingShouldApply()
public void testInitShowRuleWithTwoPossibleTargetsWhereTheOtherSettingShouldApply()
public void testInitShowRuleWithTwoPossibleTargetsWhereBothSettingShouldApply()
public void testDefaultWrongToRightShowRule()
public void testDefaultWrongToWrongShowRule()
public void testDefaultRightToWrongShowRule()
public void testDefaultRightToRightShowRule()
public void testPropagationShowRuleNoChildRuleWrongToRight()
public void testPropagationShowRuleNoChildRuleWrongToWrong()
public void testPropagationShowRuleNoChildRuleRightToWrong()
public void testPropagationShowRuleNoChildRuleRightToRight()
public void testPropagationShowRuleChildRuleWrongToRight()
public void testPropagationShowRuleChildRuleWrongToWrong()
public void testPropagationShowRuleChildRuleRightToWrong()
public void testPropagationShowRuleChildRuleRightToRight()
public void testInitRightEnableRule()
public void testInitWrongEnableRule()
public void testPropagationEnableRuleNoChildRuleWrongInit()
public void testPropagationEnableRuleNoChildRuleRightInit()
public void testPropagationEnableRuleChildRuleWrongInit()
public void testPropagationEnableRuleChildRuleRightInit()
public void testDefaultWrongToRightEnableRule()
public void testDefaultWrongToWrongEnableRule()
public void testDefaultRightToWrongEnableRule()
public void testDefaultRightToRightEnableRule()
public void testPropagationEnableRuleNoChildRuleWrongToRight()
public void testPropagationEnableRuleNoChildRuleWrongToWrong()
public void testPropagationEnableRuleNoChildRuleRightToWrong()
public void testPropagationEnableRuleNoChildRuleRightToRight()
public void testPropagationEnableRuleChildRuleWrongToRight()
public void testPropagationEnableRuleChildRuleWrongToWrong()
public void testPropagationEnableRuleChildRuleRightToWrong()
public void testPropagationEnableRuleChildRuleRightToRight()
public void testInitRightHideRule()
public void testInitWrongHideRule()
public void testPropagationHideRuleNoChildRuleRightInit()
public void testPropagationHideRuleNoChildRuleWrongInit()
public void testPropagationHideRuleChildRuleRightInit()
public void testPropagationHideRuleChildRuleWrongInit()
public void testDefaultWrongToRightHideRule()
public void testDefaultWrongToWrongHideRule()
public void testDefaultRightToWrongHideRule()
public void testDefaultRightToRightHideRule()
public void testPropagationHideRuleNoChildRuleWrongToRight()
public void testPropagationHideRuleNoChildRuleWrongToWrong()
public void testContainmentConditionWithShowRule()
public void testGetInvolvedEObjetsContainedMultiAttributeNoMatch()
public void testGetInvolvedEObjetsContainedMultiAttributeEmptySet()
public void testGetInvolvedEObjetsContainedMultiAttributeNoMatchViaUpdatePlayer()
public void testGetInvolvedEObjetsContainedMultiAttributeMatch()
public void testGetInvolvedEObjetsContainedMultiAttributeMatchViaNewEmptyListValue()
public void testContainmentConditionWithShowRuleWithClearedMultiref()
public void testContainmentConditionWithShowRuleFulFillCondition()
public void testContainmentConditionInitEmptyList()
public void testContainmentConditionAddToEmptyList()
public void testPropagationHideRuleNoChildRuleRightToWrong()
public void testPropagationHideRuleNoChildRuleRightToRight()
public void testPropagationHideRuleChildRuleWrongToRight()
public void testPropagationHideRuleChildRuleWrongToWrong()
public void testPropagationHideRuleChildRuleRightToWrong()
public void testPropagationHideRuleChildRuleRightToRight()
public void testInitRightDisableRule()
public void testInitWrongDisableRule()
public void testPropagationDisableRuleNoChildRuleRightInit()
public void testPropagationDisableRuleNoChildRuleWrongInit()
public void testPropagationDisableRuleChildRuleRightInit()
public void testPropagationDisableRuleChildRuleWrongInit()
public void testDefaultRightToWrongDisableRule()
public void testDefaultRightToRightDisableRule()
public void testDefaultWrongToRightDisableRule()
public void testDefaultWrongToWrongDisableRule()
public void testPropagationDisableRuleNoChildRuleRightToWrong()
public void testPropagationDisableRuleNoChildRuleRightToRight()
public void testPropagationDisableRuleNoChildRuleWrongToRight()
public void testPropagationDisableRuleNoChildRuleWrongToWrong()
public void testPropagationDisableRuleChildRuleRightToWrong()
public void testPropagationDisableRuleChildRuleRightToRight()
public void testPropagationDisableRuleChildRuleWrongToRight()
public void testPropagationDisableRuleChildRuleWrongToWrong()
public void testMultiLevelPropagationOnInit()
public void testMultiLevelPropagationOnLifecycle()
public void testParentShowVsChildShow()
public void testParentShowVsChildHide()
public void testParentHideVsChildHide()
public void testParentHideVsChildShow()
public void testParentEnableVsChildEnable()
public void testParentEnableVsChildDisable()
public void testParentDisableVsChildDisable()
public void testParentDisableVsChildEnable()
public void testInitParentShowVsChildShow()
public void testInitParentShowVsChildHide()
public void testInitParentHideVsChildHide()
public void testInitParentHideVsChildShow()
public void testInitParentEnableVsChildEnable()
public void testInitParentEnableVsChildDisable()
public void testInitParentDisableVsChildDisable()
public void testInitParentDisableVsChildEnable()
public void testDispose()
public void testGetInvolvedEObjectNoChange()
public void testGetInvolvedEObjectNoSideEffects()
public void testGetInvolvedEObjectChange()
public void testGetInvolvedEObjectChangeWithoutChangedValue()
public void testGetInvolvedEObjectNoVanishingRenderables()
public void testGetInvolvedEObjectsHelperBothRulesApply()
public void testGetInvolvedEObjectsHelperNoRuleAppliesFilterForComposite()
public void testGetInvolvedEObjectsHelperNoRuleApplies()
public void testGetInvolvedEObjectsHelperEnableRuleAppliesWrongValue()
public void testGetInvolvedEObjectsHelperEnableRuleAppliesCorrectValue()
EnableRule
on
the
control.
public void testGetInvolvedEObjectsHelperShowRuleAppliesCorrectValue()
public void testGetInvolvedEObjectParentAffectedIfChildChanged()
public void testGetInvolvedEObjectParentAffectedIfChildNotChanged()
public void testGetInvolvedEObjectWithVanishingRenderableShowRuleApplies()
public void testGetInvolvedEObjectWithVanishingRenderableEnableRuleApplies()
public void testGetInvolvedEObjectWithVanishingRenderableTwoRulesApply()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |