@Override public Optional<TestDescriptor> resolveUniqueId(UniqueId.Segment segment, TestDescriptor parent) { if (!segment.getType().equals(this.segmentType)) { return Optional.empty(); } if (!(parent instanceof ClassTestDescriptor)) { return Optional.empty(); } Optional<Method> optionalMethod = findMethod(segment, (ClassTestDescriptor) parent); if (!optionalMethod.isPresent()) { return Optional.empty(); } Method method = optionalMethod.get(); if (!isRelevantMethod(method)) { return Optional.empty(); } return Optional.of(createTestDescriptor(parent, method)); }
private Optional<String> determineTestClassName(UniqueId uniqueId) { Segment runnerSegment = uniqueId.getSegments().get(1); // skip engine node if (SEGMENT_TYPE_RUNNER.equals(runnerSegment.getType())) { return Optional.of(runnerSegment.getValue()); } logger.warn( () -> format("Unresolvable Unique ID (%s): Unique ID segment after engine segment must be of type \"" + SEGMENT_TYPE_RUNNER + "\"", uniqueId)); return Optional.empty(); }
@Override public Optional<TestDescriptor> resolveUniqueId(UniqueId.Segment segment, TestDescriptor parent) { if (!segment.getType().equals(getSegmentType())) { return Optional.empty(); } if (!requiredParentType().isInstance(parent)) { return Optional.empty(); } String className = getClassName(parent, segment.getValue()); Optional<Class<?>> optionalContainerClass = ReflectionUtils.tryToLoadClass(className).toOptional(); if (!optionalContainerClass.isPresent()) { return Optional.empty(); } Class<?> containerClass = optionalContainerClass.get(); if (!isPotentialCandidate(containerClass)) { return Optional.empty(); } UniqueId uniqueId = createUniqueId(containerClass, parent); return Optional.of(resolveClass(containerClass, uniqueId)); }
@Override public Optional<TestDescriptor> resolveUniqueId(UniqueId.Segment segment, TestDescriptor parent) { if (!segment.getType().equals(SEGMENT_TYPE)) { return Optional.empty(); } if (!requiredParentType().isInstance(parent)) { return Optional.empty(); } String className = getClassName(parent, segment.getValue()); Optional<Class<?>> optionalContainerClass = ReflectionUtils.loadClass(className); if (!optionalContainerClass.isPresent()) { return Optional.empty(); } Class<?> containerClass = optionalContainerClass.get(); if (!isPotentialCandidate(containerClass)) { return Optional.empty(); } UniqueId uniqueId = createUniqueId(containerClass, parent); return Optional.of(resolveClass(containerClass, uniqueId)); }
@Override public Optional<TestDescriptor> resolveUniqueId(Segment segment, TestDescriptor parent) { if (!segment.getType().equals(SEGMENT_TYPE)) { return Optional.empty(); } if (!(parent instanceof ParametrizedBenchmarkMethodDescriptor)) { return Optional.empty(); } ParametrizedBenchmarkMethodDescriptor parentDescriptor = (ParametrizedBenchmarkMethodDescriptor) parent; return findTestDescriptor(segment.getValue(), parentDescriptor.getUniqueId(), parentDescriptor.getParametrizedMethod()); }
public static Condition<ExecutionEvent> uniqueIdSubstring(String uniqueIdSubstring) { Predicate<UniqueId.Segment> predicate = segment -> { String text = segment.getType() + ":" + segment.getValue(); return text.contains(uniqueIdSubstring); }; return new Condition<>( byTestDescriptor( where(TestDescriptor::getUniqueId, uniqueId -> uniqueId.getSegments().stream().anyMatch(predicate))), "descriptor with uniqueId substring \"%s\"", uniqueIdSubstring); }
@Override public Optional<TestDescriptor> resolveUniqueId(Segment segment, TestDescriptor parent) { if (!segment.getType().equals(SEGMENT_TYPE)) { return Optional.empty(); } if (!(parent instanceof BenchmarkClassDescriptor)) { return Optional.empty(); } BenchmarkClassDescriptor descriptor = (BenchmarkClassDescriptor) parent; return findMethod(segment, parent.getUniqueId(), descriptor.getBenchmarkClass()); }
private String describe(Segment segment) { String body = encode(segment.getType()) + typeValueSeparator + encode(segment.getValue()); return openSegment + body + closeSegment; }
/** * Get the engine ID stored in this {@code UniqueId}, if available. * * @see #forEngine(String) */ public final Optional<String> getEngineId() { return getRoot().filter(segment -> segment.getType().equals(ENGINE_SEGMENT_TYPE)).map(Segment::getValue); }