All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jqwik.engine.facades.ShrinkingSequenceFacadeImpl Maven / Gradle / Ivy

There is a newer version: 1.9.1
Show newest version
package net.jqwik.engine.facades;

import java.util.function.*;

import net.jqwik.api.*;
import net.jqwik.engine.properties.shrinking.*;

/**
 * Is loaded through reflection in api module
 */
public class ShrinkingSequenceFacadeImpl extends ShrinkingSequence.ShrinkingSequenceFacade {
	@Override
	public  ShrinkingSequence dontShrink(Shrinkable shrinkable) {
		return new NullShrinkingSequence<>(shrinkable);
	}

	@Override
	public  ShrinkingSequence andThen(
		ShrinkingSequence self, Function, ShrinkingSequence> createFollowupSequence
	) {
		return new NextShrinkingSequence<>(self, createFollowupSequence);
	}

	@Override
	public  ShrinkingSequence mapValue(ShrinkingSequence self, Function mapper) {
		return new MappedValueShrinkingSequence<>(self, mapper);
	}

	@Override
	public  ShrinkingSequence map(
		ShrinkingSequence self, Function, FalsificationResult> mapper
	) {
		return new MappedShrinkingSequence<>(self, mapper);
	}
}