Skip to content

Commit 68e889f

Browse files
committed
Refactor: renames and encapsulate field
1 parent 7a74869 commit 68e889f

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

src/main/java/de/bechte/junit/runners/context/statements/builder/HierarchicalRunRulesStatementBuilder.java

+23-15
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class HierarchicalRunRulesStatementBuilder implements MethodStatementBuil
2727
public Statement createStatement(final TestClass testClass, final FrameworkMethod method, final Object target,
2828
final Statement next, final Description description, final RunNotifier notifier) {
2929
try {
30-
final TestRuleDefinitions testRules = new TestRuleDefinitions(hierarchyInstancesInAscendingOrder(target));
30+
final TestRuleDefinitions testRules = new TestRuleDefinitions(hierarchyOfTestsFromLowestToHighest(target));
3131
final List<MethodRule> methodRules = new LinkedList<MethodRule>();
3232

3333

@@ -45,62 +45,70 @@ public Statement createStatement(final TestClass testClass, final FrameworkMetho
4545
statement = methodRule.apply(statement, method, instance);
4646
}
4747
if (testRules.hasSome())
48-
statement = new RunRules(statement, testRules.getTestRulesDefinedForThisHieraryLevel(instance), description);
48+
statement = new RunRules(statement, testRules.getTestRulesDefinedForThisHierarchyLevel(instance), description);
4949
}
5050
return statement;
5151
} catch (final IllegalAccessException e) {
5252
return new Fail(e);
5353
}
5454
}
5555

56-
private List<Object> hierarchyInstancesInAscendingOrder(Object target) throws IllegalAccessException {
56+
private List<Object> hierarchyOfTestsFromLowestToHighest(Object target) throws IllegalAccessException {
5757
List<Object> result = new ArrayList<Object>();
5858
for (Object instance = target; instance != null; instance = getEnclosingInstance(instance)) {
5959
result.add(instance);
6060
}
6161
return result;
6262
}
6363

64-
private class TestRuleWithInstance {
64+
private class TestRuleInTestHierarchy {
6565
private TestRule testRule;
66-
private Object instance;
66+
private Object objectRepresentingHierarchy;
6767

68-
public TestRuleWithInstance(TestRule testRule, Object instance) {
68+
public TestRuleInTestHierarchy(TestRule testRule, Object objectRepresentingHierarchy) {
6969
this.testRule = testRule;
70-
this.instance = instance;
70+
this.objectRepresentingHierarchy = objectRepresentingHierarchy;
71+
}
72+
73+
public TestRule getTestRule() {
74+
return testRule;
75+
}
76+
77+
public Object getObjectRepresentingHierarchyLevel() {
78+
return objectRepresentingHierarchy;
7179
}
7280
}
7381

7482
private class TestRuleDefinitions {
75-
private List<TestRuleWithInstance> testRulePositionInTestHierarchies = new ArrayList<TestRuleWithInstance>();
83+
private List<TestRuleInTestHierarchy> testRulePositionInTestHierarchies = new ArrayList<TestRuleInTestHierarchy>();
7684
private List<Object> hierarchyOfTestsFromLowestToHighest;
7785

7886
public TestRuleDefinitions(List<Object> hierarchyOfTestsFromLowestToHighest) {
7987
this.hierarchyOfTestsFromLowestToHighest = hierarchyOfTestsFromLowestToHighest;
8088
}
8189

8290
public boolean contains(MethodRule methodRule) {
83-
for (TestRuleWithInstance t : testRulePositionInTestHierarchies) {
84-
if (t.testRule.equals(methodRule))
91+
for (TestRuleInTestHierarchy t : testRulePositionInTestHierarchies) {
92+
if (t.getTestRule().equals(methodRule))
8593
return true;
8694
}
8795
return false;
8896
}
8997

9098
public void addAll(List<TestRule> testRules, Object instance) {
9199
for (TestRule testRule : testRules)
92-
testRulePositionInTestHierarchies.add(new TestRuleWithInstance(testRule, instance));
100+
testRulePositionInTestHierarchies.add(new TestRuleInTestHierarchy(testRule, instance));
93101
}
94102

95103
public boolean hasSome() {
96104
return !testRulePositionInTestHierarchies.isEmpty();
97105
}
98106

99-
public Iterable<TestRule> getTestRulesDefinedForThisHieraryLevel(Object instance) {
107+
public Iterable<TestRule> getTestRulesDefinedForThisHierarchyLevel(Object instance) {
100108
List<TestRule> result = new ArrayList<TestRule>();
101-
for (TestRuleWithInstance t : testRulePositionInTestHierarchies)
102-
if (hierarchyOfTestsFromLowestToHighest.indexOf(t.instance) >= hierarchyOfTestsFromLowestToHighest.indexOf(instance))
103-
result.add(t.testRule);
109+
for (TestRuleInTestHierarchy testRulePosition : testRulePositionInTestHierarchies)
110+
if (hierarchyOfTestsFromLowestToHighest.indexOf(testRulePosition.getObjectRepresentingHierarchyLevel()) >= hierarchyOfTestsFromLowestToHighest.indexOf(instance))
111+
result.add(testRulePosition.getTestRule());
104112
return result;
105113
}
106114
}

0 commit comments

Comments
 (0)