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

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

The newest version!
package net.jqwik.engine.facades;

import java.util.*;

import net.jqwik.api.*;
import net.jqwik.engine.properties.arbitraries.combinations.*;

import org.jspecify.annotations.*;

/**
 * Is loaded through reflection in api module
 */
public class CombinatorsFacadeImpl extends Combinators.CombinatorsFacade {

	@Override
	public  Combinators.Combinator2 combine2(Arbitrary a1, Arbitrary a2) {
		return new DefaultCombinator2<>(a1, a2);
	}

	@Override
	public  Combinators.Combinator3 combine3(Arbitrary a1, Arbitrary a2, Arbitrary a3) {
		return new DefaultCombinator3<>(a1, a2, a3);
	}

	@Override
	public  Combinators.Combinator4 combine4(
		Arbitrary a1,
		Arbitrary a2,
		Arbitrary a3,
		Arbitrary a4
	) {
		return new DefaultCombinator4<>(a1, a2, a3, a4);
	}

	@Override
	public  Combinators.Combinator5 combine5(
		Arbitrary a1,
		Arbitrary a2,
		Arbitrary a3,
		Arbitrary a4,
		Arbitrary a5
	) {
		return new DefaultCombinator5<>(a1, a2, a3, a4, a5);
	}

	@Override
	public  Combinators.Combinator6 combine6(
		Arbitrary a1,
		Arbitrary a2,
		Arbitrary a3,
		Arbitrary a4,
		Arbitrary a5,
		Arbitrary a6
	) {
		return new DefaultCombinator6<>(a1, a2, a3, a4, a5, a6);
	}

	@Override
	public  Combinators.Combinator7 combine7(
		Arbitrary a1,
		Arbitrary a2,
		Arbitrary a3,
		Arbitrary a4,
		Arbitrary a5,
		Arbitrary a6,
		Arbitrary a7
	) {
		return new DefaultCombinator7<>(a1, a2, a3, a4, a5, a6, a7);
	}

	@Override
	public  Combinators.Combinator8 combine8(
		Arbitrary a1,
		Arbitrary a2,
		Arbitrary a3,
		Arbitrary a4,
		Arbitrary a5,
		Arbitrary a6,
		Arbitrary a7,
		Arbitrary a8
	) {
		return new DefaultCombinator8<>(a1, a2, a3, a4, a5, a6, a7, a8);
	}

	@Override
	public  Combinators.ListCombinator combineList(List> listOfArbitraries) {
		return new DefaultListCombinator<>(listOfArbitraries);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy