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

org.meanbean.test.VerifierSettingsEditor Maven / Gradle / Ivy

package org.meanbean.test;

import com.github.meanbeanlib.mirror.SerializableLambdas.SerializableFunction1;
import org.meanbean.bean.info.BeanInformationFactory;
import org.meanbean.factories.FactoryCollection;
import org.meanbean.factories.util.FactoryLookupStrategy;
import org.meanbean.lang.Factory;
import org.meanbean.util.RandomValueGenerator;

/**
 * @see BeanVerifier
 * @see BeanTesterBuilder
 * @see Configuration
 */
public interface VerifierSettingsEditor extends VerifierSettings {

	/**
	 * Finish editing setting and return to bean verification
	 */
	BeanVerifier edited();

	@Override
	VerifierSettingsEditor setRandomValueGenerator(RandomValueGenerator randomValueGenerator);

	@Override
	VerifierSettingsEditor setFactoryCollection(FactoryCollection factoryCollection);

	@Override
	VerifierSettingsEditor setFactoryLookupStrategy(FactoryLookupStrategy factoryLookupStrategy);

	@Override
	VerifierSettingsEditor setBeanInformationFactory(BeanInformationFactory beanInformationFactory);

	@Override
	 VerifierSettingsEditor registerFactory(Class clazz, Factory factory);

	/**
	 * Register factory for an inheritance type hierarchy
	 */
	@Override
	 VerifierSettingsEditor registerTypeHierarchyFactory(Class baseType, Factory factory);

	/**
	 * Set the number of times a type should be tested by default
	 */
	@Override
	VerifierSettingsEditor setDefaultIterations(int iterations);

	/**
	 * Mark the specified property as one to be disregarded/ignored during testing.
	 */
	@Override
	VerifierSettingsEditor addIgnoredPropertyName(String property) throws IllegalArgumentException;

	/**
	 * Mark the specified property as one to be disregarded/ignored during testing.
	 * 
	 *     addIgnoredProperty(MyBean::getPropertyValue);
	 * 
*/ @Override VerifierSettingsEditor addIgnoredProperty(SerializableFunction1 beanGetter) throws IllegalArgumentException; /** * Register the specified Factory as an override Factory for the specified property. This means that the specified * Factory will be used over the standard Factory for the property. */ @Override VerifierSettingsEditor addOverrideFactory(String property, Factory factory) throws IllegalArgumentException; /** * Register the specified Factory as an override Factory for the specified property. This means that the specified * Factory will be used over the standard Factory for the property. *
	 *     addOverridePropertyFactory(MyBean::getPropertyValue, () -> createPropertyValue());
	 * 
*/ @Override VerifierSettingsEditor addOverridePropertyFactory(SerializableFunction1 beanGetter, Factory factory); /** * Add a property that is insignificant for EqualsMethodTester */ @Override VerifierSettingsEditor addEqualsInsignificantProperty(String propertyName); /** * Add a property that is insignificant for EqualsMethodTester * *
	 *     addEqualsInsignificantProperty(MyBean::getPropertyValue);
	 * 
*/ @Override VerifierSettingsEditor addEqualsInsignificantProperty(SerializableFunction1 beanGetter); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy