
org.catools.common.extensions.verify.CVerificationBuilder Maven / Gradle / Ivy
package org.catools.common.extensions.verify;
import org.catools.common.collections.CList;
import org.catools.common.logger.CLogger;
import java.math.BigDecimal;
/**
* Build a sequence of verifications using method from different verification classes
*
* @param represent any classes which extent {@link CVerificationBuilder}.
* @see CBooleanVerification
* @see CCollectionVerification
* @see CDateVerification
* @see CFileVerification
* @see CNumberVerification
* @see CObjectVerification
* @see CStringVerification
*/
public abstract class CVerificationBuilder implements CVerificationQueue {
public final CObjectVerification Object;
public final CCollectionVerification Collection;
public final CMapVerification Map;
public final CBooleanVerification Bool;
public final CDateVerification Date;
public final CStringVerification String;
public final CFileVerification File;
public final CNumberVerification Long;
public final CNumberVerification BigDecimal;
public final CNumberVerification Double;
public final CNumberVerification Float;
public final CNumberVerification Int;
public final CLogger logger;
protected final CList expectations = new CList<>();
public CVerificationBuilder(CLogger logger) {
this.logger = logger;
this.Object = new CObjectVerification(this, logger);
this.Collection = new CCollectionVerification(this, logger);
this.Map = new CMapVerification(this, logger);
this.Bool = new CBooleanVerification(this, logger);
this.Date = new CDateVerification(this, logger);
this.String = new CStringVerification(this, logger);
this.File = new CFileVerification(this, logger);
this.BigDecimal = new CNumberVerification(this, logger);
this.Double = new CNumberVerification(this, logger);
this.Float = new CNumberVerification(this, logger);
this.Long = new CNumberVerification(this, logger);
this.Int = new CNumberVerification(this, logger);
}
@Override
public CLogger getLogger() {
return logger;
}
public abstract T queue(CVerificationInfo verificationInfo);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy