From 7216e4bd9eceea0be4813da6520a6fa4ed2e3a2a Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Wed, 30 Jul 2014 00:20:36 +0200 Subject: [PATCH] Avoid repeated checks. The only check is `assertNoDescendantsHaveCategoryAnnotations`. It checks all descendants. Hence further calls of `assertNoCategorizedDescendentsOfUncategorizeableParents` for each child are redundant, because it has already been checked. --- .../org/junit/experimental/categories/Categories.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/junit/experimental/categories/Categories.java b/src/main/java/org/junit/experimental/categories/Categories.java index 290c1800cbc6..2cee740a6c53 100644 --- a/src/main/java/org/junit/experimental/categories/Categories.java +++ b/src/main/java/org/junit/experimental/categories/Categories.java @@ -339,12 +339,13 @@ private static boolean isAnyExcluded(Class klass) { } private static void assertNoCategorizedDescendentsOfUncategorizeableParents(Description description) throws InitializationError { - if (!canHaveCategorizedChildren(description)) { + if (canHaveCategorizedChildren(description)) { + for (Description each : description.getChildren()) { + assertNoCategorizedDescendentsOfUncategorizeableParents(each); + } + } else { assertNoDescendantsHaveCategoryAnnotations(description); } - for (Description each : description.getChildren()) { - assertNoCategorizedDescendentsOfUncategorizeableParents(each); - } } private static void assertNoDescendantsHaveCategoryAnnotations(Description description) throws InitializationError {