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

org.catools.media.extensions.states.interfaces.CImageComparisionState Maven / Gradle / Ivy

package org.catools.media.extensions.states.interfaces;

import org.catools.common.collections.CList;
import org.catools.common.extensions.states.interfaces.CObjectState;
import org.catools.common.io.CResource;
import org.catools.media.utils.CImageComparisionUtil;
import org.catools.media.utils.CImageUtil;

import java.awt.image.BufferedImage;
import java.io.File;

import static org.catools.media.enums.CImageComparisonType.GRAY_FLOAT_32;
import static org.catools.media.utils.CImageComparisionUtil.toBufferedImageList;

/**
 * 

CImageComparisionState is an interface to define state of BufferedImage in relation to one or more File, Resource or BufferedImage.

*/ public interface CImageComparisionState extends CObjectState { /** * Check if actual and expected are equal, after converting content to BufferedImage. * * @param expected value to compare * @return execution result */ default boolean isEqual(final CResource expected) { return CImageComparisionUtil.getDiffs(getBaseValue(), CImageUtil.readImageOrNull(expected), GRAY_FLOAT_32).isEmpty(); } /** * Check if actual and expected are not equal, after converting content to BufferedImage. * * @param expected value to compare * @return execution result */ default boolean isNotEqual(final CResource expected) { return CImageComparisionUtil.getDiffs(getBaseValue(), CImageUtil.readImageOrNull(expected), GRAY_FLOAT_32).isNotEmpty(); } /** * Check if actual and expected are equal, after converting content to BufferedImage * * @param expected value to compare * @return execution result */ default boolean isEqual(final File expected) { return CImageComparisionUtil.getDiffs(getBaseValue(), CImageUtil.readImageOrNull(expected), GRAY_FLOAT_32).isEmpty(); } /** * Check if actual and expected are not equal, after converting content to BufferedImage * * @param expected value to compare * @return execution result */ default boolean isNotEqual(final File expected) { return CImageComparisionUtil.getDiffs(getBaseValue(), CImageUtil.readImageOrNull(expected), GRAY_FLOAT_32).isNotEmpty(); } /** * Check if actual value equals to any expected values, after converting content to BufferedImage. * * @param expected values to compare, return false if no value provided. all {@code null} value in expected list ignores. * @return execution result */ default boolean equalsAny(final Iterable expected) { for (BufferedImage bufferedImage : toBufferedImageList(expected)) { if (bufferedImage == null) { continue; } if (CImageComparisionUtil.getDiffs(getBaseValue(), bufferedImage, GRAY_FLOAT_32).isEmpty()) { return true; } } return false; } /** * Check if actual value equals to none of expected values, after converting content to BufferedImage. * * @param expected value to compare * @return execution result */ default boolean equalsNone(final Iterable expected) { CList bufferedImages = toBufferedImageList(expected); for (BufferedImage bufferedImage : bufferedImages) { if (bufferedImage == null) { continue; } if (CImageComparisionUtil.getDiffs(getBaseValue(), bufferedImage, GRAY_FLOAT_32).isNotEmpty()) { return false; } } return bufferedImages.isNotEmpty(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy