| All Test Modules | GitHub Repository | Coverage Reports | Designed for use with JUnit. |
| Tests | Failures | Errors | Skipped | Success rate | Time |
|---|---|---|---|---|---|
| 250 | 0 | 0 | 2 | 99.20% | 4.859 |
| Note: failures are anticipated and checked for with assertions while errors are unanticipated. |
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Tests | Errors | Failures | Skipped | Time(s) | Time Stamp | Host |
|---|
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Collects nodes in ReferenceHolder ๐ | Success | 0.006 | |
| Accumulates data across multiple node types ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| with(ReferenceHolder) creates builder ๐ | Success | 0.001 | |
| with(ReferenceHolder, Set) creates builder with custom node set ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Multiple visitors can be chained ๐ | Success | 0.001 | |
| Builder returns itself for chaining ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds assignments ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds enhanced for loops ๐ | Success | 0.001 | |
| Provides access to loop variable ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds if statements ๐ | Success | 0.003 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds all method declarations ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Filters by method name ๐ | Success | 0.001 | |
| Finds all method invocations ๐ | Success | 0.004 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds return statements ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds type declarations ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Finds variable declarations ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| processor() provides access to underlying ASTProcessor ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Negates simple name without parentheses ๐ | Success | 0.002 | |
| null AST throws exception ๐ | Success | 0.000 | |
| Negates infix expression with parentheses ๐ | Success | 0.000 | |
| null condition throws exception ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| SimpleName not matching varName is not identity ๐ | Success | 0.001 | |
| SimpleName matching varName is identity ๐ | Success | 0.000 | |
| InfixExpression is not identity ๐ | Success | 0.001 | |
| null varName returns false ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| SimpleName is not negated ๐ | Success | 0.000 | |
| PrefixExpression with MINUS is not negated ๐ | Success | 0.001 | |
| PrefixExpression with NOT is negated ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| SimpleName does not need parentheses ๐ | Success | 0.001 | |
| InfixExpression needs parentheses ๐ | Success | 0.000 | |
| null input throws exception ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Strips negation from PrefixExpression with NOT ๐ | Success | 0.001 | |
| Returns original if not negated ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Validation: processEach without compilationUnit should throw ๐ | Success | 0.001 | |
| Collect annotations using collect() method ๐ | Success | 0.005 | |
| Find @SuppressWarnings annotations (SingleMemberAnnotation) ๐ | Success | 0.004 | |
| Find @Override annotations ๐ | Success | 0.005 | |
| Find @Deprecated annotations by fully qualified name ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Validation: FieldVisitorBuilder requires both annotation and type ๐ | Success | 0.008 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Find static imports ๐ | Success | 0.008 | |
| Find regular imports ๐ | Success | 0.016 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Find single method call ๐ | Success | 0.007 | |
| Collect method calls using collect() ๐ | Success | 0.006 | |
| Find multiple method calls ๐ | Success | 0.005 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Early termination when processor returns false ๐ | Success | 0.008 | |
| Excluding processed nodes ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| ReferenceHolder can be used to collect data ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Multiple nodes are correctly stored in ReferenceHolder ๐ | Success | 0.018 | |
| ReferenceHolder is correctly populated in processEach and accessible afterwards ๐ | Success | 0.015 | |
| ReferenceHolder.get() returns null for non-existent key - edge case from PR #494 ๐ | Success | 0.011 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| collect() gathers all found nodes ๐ | Success | 0.038 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| forAnnotation skips already processed nodes ๐ | Success | 0.029 | |
| forAnnotation finds MarkerAnnotation and populates ReferenceHolder correctly ๐ | Success | 0.014 | |
| forAnnotation with andImports also finds imports ๐ | Success | 0.020 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| forField with annotation finds FieldDeclaration ๐ | Success | 0.015 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| forImport finds ImportDeclaration and populates ReferenceHolder correctly ๐ | Success | 0.012 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| forMethodCalls with andStaticImports and andImportsOf ๐ | Success | 0.023 | |
| forMethodCalls finds MethodInvocation and populates ReferenceHolder correctly ๐ | Success | 0.029 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| METHOD_DEFAULT_CHARSET is 'defaultCharset' ๐ | Success | 0.000 | |
| METHOD_GET_PROPERTY is 'getProperty' ๐ | Success | 0.000 | |
| METHOD_LINE_SEPARATOR is 'lineSeparator' ๐ | Success | 0.002 | |
| FIELD_UTF8 is 'UTF_8' ๐ | Success | 0.000 | |
| METHOD_TOSTRING is 'toString' ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| JAVA_LANG_DOUBLE is 'java.lang.Double' ๐ | Success | 0.000 | |
| JAVA_LANG_STRING is 'java.lang.String' ๐ | Success | 0.000 | |
| JAVA_LANG_MATH is 'java.lang.Math' ๐ | Success | 0.000 | |
| JAVA_LANG_LONG is 'java.lang.Long' ๐ | Success | 0.000 | |
| JAVA_LANG_INTEGER is 'java.lang.Integer' ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| METHOD_CONCAT is 'concat' ๐ | Success | 0.001 | |
| METHOD_SUM is 'sum' ๐ | Success | 0.000 | |
| METHOD_MIN is 'min' ๐ | Success | 0.001 | |
| METHOD_MAX is 'max' ๐ | Success | 0.000 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| METHOD_STREAM is 'stream' ๐ | Success | 0.001 | |
| METHOD_FOREACH is 'forEach' ๐ | Success | 0.000 | |
| METHOD_REDUCE is 'reduce' ๐ | Success | 0.000 | |
| METHOD_ANY_MATCH is 'anyMatch' ๐ | Success | 0.000 | |
| METHOD_NONE_MATCH is 'noneMatch' ๐ | Success | 0.000 | |
| METHOD_FILTER is 'filter' ๐ | Success | 0.001 | |
| METHOD_MAP is 'map' ๐ | Success | 0.000 | |
| METHOD_ALL_MATCH is 'allMatch' ๐ | Success | 0.000 | |
| METHOD_FOR_EACH_ORDERED is 'forEachOrdered' ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Chaining stops after first match ๐ | Success | 0.012 | |
| isHandled() returns true after match ๐ | Success | 0.007 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| ifPrefixIncrementOrDecrement matches decrement ๐ | Success | 0.011 | |
| ifPrefixExpression matches PrefixExpression ๐ | Success | 0.007 | |
| ifMethodInvocation matches MethodInvocation ๐ | Success | 0.014 | |
| ifSimpleName matches SimpleName ๐ | Success | 0.011 | |
| ifAssignmentWithOperator matches specific operator ๐ | Success | 0.010 | |
| ifPostfixIncrementOrDecrement matches increment ๐ | Success | 0.010 | |
| ifAssignment matches Assignment ๐ | Success | 0.007 | |
| ifMethodInvocationNamed matches by method name ๐ | Success | 0.011 | |
| ifPostfixExpression matches PostfixExpression ๐ | Success | 0.007 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| isHandled() returns false initially ๐ | Success | 0.008 | |
| on() creates NodeMatcher instance ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| ifTypeMatching with predicate ๐ | Success | 0.012 | |
| ifType matches by class type ๐ | Success | 0.005 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| ifThrowStatement matches ThrowStatement ๐ | Success | 0.013 | |
| ifReturnStatement matches ReturnStatement ๐ | Success | 0.006 | |
| ifIfStatementWithElse matches if with else ๐ | Success | 0.010 | |
| ifVariableDeclaration matches VariableDeclarationStatement ๐ | Success | 0.011 | |
| ifContinueStatement matches ContinueStatement ๐ | Success | 0.015 | |
| ifIfStatement matches IfStatement ๐ | Success | 0.009 | |
| ifBlock matches Block ๐ | Success | 0.005 | |
| ifExpressionStatement matches ExpressionStatement ๐ | Success | 0.009 | |
| ifBreakStatement matches BreakStatement ๐ | Success | 0.013 | |
| ifVariableDeclarationMatching with predicate ๐ | Success | 0.011 | |
| ifIfStatementWithoutElse matches if without else ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| orElse does not execute when already handled ๐ | Success | 0.007 | |
| orElse executes when no matcher handled ๐ | Success | 0.006 | |
| orElseGet returns empty when already handled ๐ | Success | 0.008 | |
| orElseGet returns Optional when not handled ๐ | Success | 0.006 | |
| orElseDo executes runnable when not handled ๐ | Success | 0.006 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| isControlFlowStatement returns true for throw ๐ | Success | 0.015 | |
| isControlFlowStatement returns true for continue ๐ | Success | 0.003 | |
| getExpression returns Optional with expression ๐ | Success | 0.007 | |
| getAssignment returns empty for non-assignment ๐ | Success | 0.003 | |
| getAssignment returns Optional with assignment ๐ | Success | 0.006 | |
| isAssignmentStatement returns false for non-assignment ๐ | Success | 0.006 | |
| isControlFlowStatement returns true for return ๐ | Success | 0.006 | |
| isAssignmentStatement returns true for assignment ๐ | Success | 0.015 | |
| isControlFlowStatement returns true for break ๐ | Success | 0.005 | |
| isControlFlowStatement returns false for variable declaration ๐ | Success | 0.007 | |
| getExpression returns empty for non-expression statement ๐ | Success | 0.008 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| ifFirst executes for first statement ๐ | Success | 0.042 | |
| ifLast executes for last statement ๐ | Success | 0.014 | |
| ifNotLast executes for non-last statement ๐ | Success | 0.011 | |
| ifLast does not execute for non-last statement ๐ | Success | 0.011 | |
| ifOnly executes for only statement ๐ | Success | 0.011 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| Context chaining with ifLast ๐ | Success | 0.014 | |
| getRemainingCount is zero for last statement ๐ | Success | 0.011 | |
| Single statement is first, last, and only ๐ | Success | 0.008 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| processBlock allows early termination ๐ | Success | 0.011 | |
| forSingle creates context for single statement ๐ | Success | 0.007 | |
| forEachInBlock processes all statements ๐ | Success | 0.005 | |
| processBlock returns empty when no match ๐ | Success | 0.004 | |
| forStatement creates context with position info ๐ | Success | 0.004 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| getRemainingStatements returns empty for last statement ๐ | Success | 0.005 | |
| getPrecedingStatements returns statements before current ๐ | Success | 0.005 | |
| getRemainingStatements returns statements after current ๐ | Success | 0.004 | |
| getPrecedingStatements returns empty for first statement ๐ | Success | 0.004 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| nextIs returns true for matching type ๐ | Success | 0.008 | |
| nextIs with predicate returns true when both match ๐ | Success | 0.052 | |
| nextMatches returns true when predicate matches ๐ | Success | 0.013 | |
| matcher returns NodeMatcher for statement ๐ | Success | 0.013 | |
| nextMatches returns false when predicate does not match ๐ | Success | 0.011 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| getNextStatement returns next statement ๐ | Success | 0.014 | |
| getPreviousStatement returns previous statement ๐ | Success | 0.011 | |
| getPreviousStatement returns empty for first statement ๐ | Success | 0.011 | |
| getStatementAt returns empty for out of bounds ๐ | Success | 0.007 | |
| getNextStatement returns empty for last statement ๐ | Success | 0.006 | |
| getStatementAt returns statement at negative offset ๐ | Success | 0.007 | |
| getStatementAt returns statement at positive offset ๐ | Success | 0.007 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| getRemainingCount returns correct count ๐ | Success | 0.008 | |
| isMiddle returns false for first statement ๐ | Success | 0.006 | |
| hasNext returns false for last statement ๐ | Success | 0.010 | |
| isOnly returns true for single statement ๐ | Success | 0.007 | |
| hasNext returns true when there are more statements ๐ | Success | 0.007 | |
| isLast returns true for last statement ๐ | Success | 0.010 | |
| isMiddle returns true for middle statement ๐ | Success | 0.007 | |
| isFirst returns false for non-first statement ๐ | Success | 0.006 | |
| isFirst returns true for first statement ๐ | Success | 0.006 | |
| hasPrevious returns true when there are previous statements ๐ | Success | 0.007 | |
| hasPrevious returns false for first statement ๐ | Success | 0.007 |
| Name | Status | Type | Time(s) |
|---|
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testAnnotationPatternMatching ๐ | Success | 0.795 | |
| testNoMatchesForDifferentAnnotation ๐ | Success | 0.016 | |
| testAnnotationWithQualifiedType ๐ | Success | 0.009 | |
| testMultipleAnnotationMatches ๐ | Success | 0.012 | |
| testAnnotationWithPlaceholder ๐ | Success | 0.047 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testMultiPlaceholderConsistencyCheck ๐ | Success | 0.009 | |
| testMultiPlaceholderMatchesZeroArguments ๐ | Success | 0.005 | |
| testMultiPlaceholderMatchesOneArgument ๐ | Success | 0.005 | |
| testMultiPlaceholderMatchesMultipleArguments ๐ | Success | 0.006 | |
| testMultiPlaceholderMatchesVariousArgumentTypes ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testSimpleField ๐ | Success | 0.011 | |
| testFieldWithPlaceholderType ๐ | Success | 0.012 | |
| testSimpleMarkerAnnotation ๐ | Success | 0.010 | |
| testSimpleMethodCall ๐ | Success | 0.016 | |
| testSimpleImport ๐ | Success | 0.005 | |
| testMultipleImports ๐ | Success | 0.007 | |
| testFieldWithAnnotation ๐ | Success | 0.003 | |
| testMultipleAnnotationsOnSameElement ๐ | Success | 0.006 | |
| testMethodCallWithMultipleArguments ๐ | Success | 0.004 | |
| testAnnotationWithParameters ๐ | Success | 0.006 | |
| testMethodCallWithPlaceholderQualifier ๐ | Success | 0.001 | |
| testStaticImport ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testParseSimpleExpression ๐ | Success | 0.002 | |
| testParsePlaceholderExpression ๐ | Success | 0.004 | |
| testParseMethodInvocation ๐ | Success | 0.001 | |
| testParseIfStatement ๐ | Skipped | org.opentest4j.AssertionFailedError: Parser should return a non-null node ==> expected: not <null>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertNotNull.failNull(AssertNotNull.java:49)
at org.junit.jupiter.api.AssertNotNull.assertNotNull(AssertNotNull.java:35)
at org.junit.jupiter.api.Assertions.assertNotNull(Assertions.java:312)
at org.sandbox.jdt.triggerpattern.test.PatternParserTest.testParseIfStatement(PatternParserTest.java:73)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) |
0.000 |
| testParseReturnStatement ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testNonPlaceholderMustMatchExactly ๐ | Success | 0.010 | |
| testMultipleSamePlaceholdersMustMatch ๐ | Success | 0.007 | |
| testDifferentPlaceholdersBindIndependently ๐ | Success | 0.002 | |
| testPlaceholderBinds ๐ | Success | 0.007 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testMultipleSamePlaceholder ๐ | Success | 0.021 | |
| testNoMatchesFound ๐ | Success | 0.007 | |
| testFindSingleMatch ๐ | Success | 0.012 | |
| testStatementPattern ๐ | Skipped | org.opentest4j.AssertionFailedError: Should find one statement pattern match ==> expected: <1> but was: <0>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:563)
at org.sandbox.jdt.triggerpattern.test.TriggerPatternEngineTest.testStatementPattern(TriggerPatternEngineTest.java:134)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) |
0.000 |
| testFindMultipleMatches ๐ | Success | 0.008 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testAncestorNavigation ๐ | Success | 0.013 | |
| testAssignmentByOperator ๐ | Success | 0.005 | |
| testHierarchicalSearch ๐ | Success | 0.010 | |
| testInfixExpressionByOperator ๐ | Success | 0.007 | |
| testMethodDeclarationByName ๐ | Success | 0.000 | |
| testSingleVisitor ๐ | Success | 0.002 | |
| testCatchClauseByExceptionType ๐ | Success | 0.015 | |
| testFieldDeclarationByType ๐ | Success | 0.016 | |
| testClassInstanceCreationWithTypeAndNavigate ๐ | Success | 0.001 | |
| testMethodInvocationFiltering ๐ | Success | 0.001 | |
| testTypeDeclarationByName ๐ | Success | 0.000 | |
| testSuperMethodInvocationByName ๐ | Success | 0.006 | |
| testBasicChaining ๐ | Success | 0.001 | |
| testForStatementWithTypeFilter ๐ | Success | 0.013 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testCoordinatedMultiPhaseProcessing ๐ | Success | 0.023 | |
| testCombiningVisitorsWithOr ๐ | Success | 0.004 | |
| testCombiningVisitorsWithAnd ๐ | Success | 0.004 | |
| testDynamicVisitorRemoval ๐ | Success | 0.001 | |
| testTrackingProcessedNodes ๐ | Success | 0.005 | |
| testNegateFilter ๐ | Success | 0.001 | |
| testStatefulVisitorBehavior ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testMethodNameFiltering ๐ | Success | 0.004 | |
| testMethodNameFilteringTraditional ๐ | Success | 0.001 | |
| testTraditionalVisitorApproach ๐ | Success | 0.001 | |
| testLambdaExpression ๐ | Success | 0.000 | |
| testSkipChildNodes ๐ | Success | 0.000 | |
| testMultipleNodeTypes ๐ | Success | 0.001 | |
| testVisitEndCallback ๐ | Success | 0.001 | |
| testBasicMethodReference ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| matcherTest ๐ | Success | 0.002 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testCountingWithStaticMethod ๐ | Success | 0.007 | |
| testComplexDataStructures ๐ | Success | 0.002 | |
| testCollectingNodePositions ๐ | Success | 0.004 | |
| testCountingNodes ๐ | Success | 0.002 | |
| testLazyInitialization ๐ | Success | 0.002 | |
| testSharedDataBetweenCallbacks ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testCallbackSignatures ๐ | Success | 0.002 | |
| testBasicUsagePattern ๐ | Success | 0.000 | |
| testVisitEndCallbacks ๐ | Success | 0.000 | |
| testApiOverview ๐ | Success | 0.001 | |
| testDataSharingPatterns ๐ | Success | 0.000 | |
| testStaticHelperMethods ๐ | Success | 0.000 | |
| testVisitorRegistration ๐ | Success | 0.001 |
| Name | Status | Type | Time(s) |
|---|---|---|---|
| testNestedHierarchicalSearch ๐ | Success | 0.006 | |
| testFluentApiWithMethodFiltering ๐ | Success | 0.001 | |
| testMethodInvocationByType ๐ | Success | 0.005 | |
| testMultiPhaseProcessing ๐ | Success | 0.005 | |
| testSimpleFluentApi ๐ | Success | 0.001 | |
| testDynamicVisitorModification ๐ | Success | 0.001 | |
| testFluentApiWithNavigation ๐ | Success | 0.005 | |
| testComplexDataCollection ๐ | Success | 0.007 |
All Test Reports | Coverage Reports | GitHub Repository
Generated by Sandbox