Package com.streambase.sb.unittest
Class FieldBasedTupleComparator
- java.lang.Object
 - 
- com.streambase.sb.unittest.FieldBasedTupleComparator
 
 
- 
- All Implemented Interfaces:
 TupleComparator
public class FieldBasedTupleComparator extends Object implements TupleComparator
ATupleComparatorthat compares tuples in a naive field-by-field manner. Comparison of individual field types can be controlled usingFieldBasedTupleComparator.CompareFunctors. A subset of the fields for a tuple can by explicitly specifying the field names.DEFAULT_COMPARATORprovides a reasonable default comparison of tuples.DEFAULT_COMPARE_REGISTRYprovides a filled in registry of defaultFieldBasedTupleComparator.CompareFunctors.- Since:
 - 6.6
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFieldBasedTupleComparator.CompareFunctorA strategy object for handling comparisons of specific field types.static classFieldBasedTupleComparator.DoubleCompareFunctorCompare double values using a ratio test and a tolerance.static classFieldBasedTupleComparator.IgnoreTimestampCompareFunctorstatic classFieldBasedTupleComparator.ListCompareFunctorstatic classFieldBasedTupleComparator.NaiveObjectCompareFunctorstatic classFieldBasedTupleComparator.RegexCompareFunctorCheck if the second argument matches the regex defined for the first argument.static classFieldBasedTupleComparator.TupleCompareFunctor 
- 
Field Summary
Fields Modifier and Type Field Description static FieldBasedTupleComparatorDEFAULT_COMPARATORstatic DataType.Registry<FieldBasedTupleComparator.CompareFunctor>DEFAULT_COMPARE_REGISTRYstatic Map<DataType,FieldBasedTupleComparator.CompareFunctor>DEFAULT_FUNCTOR_MAPstatic FieldBasedTupleComparatorIGNORE_TIMESTAMP_COMPARATORstatic FieldBasedTupleComparatorREGEX_COMPARATOR 
- 
Constructor Summary
Constructors Constructor Description FieldBasedTupleComparator(DataType.Registry<FieldBasedTupleComparator.CompareFunctor> comparators, String... fields)FieldBasedTupleComparator(FieldBasedTupleComparator baseComparator, String... fields) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancompare(Tuple expected, Tuple actual)Compare two tuples.booleancompareValues(CompleteDataType cdt, Object expected, Object actual)Compare two values withCompleteDataTypecdt.StringformatForErrorMessage(Tuple t)Convert the provided Tuple into a string appropriate for error messages. 
 - 
 
- 
- 
Field Detail
- 
DEFAULT_FUNCTOR_MAP
public static final Map<DataType,FieldBasedTupleComparator.CompareFunctor> DEFAULT_FUNCTOR_MAP
 
- 
DEFAULT_COMPARE_REGISTRY
public static final DataType.Registry<FieldBasedTupleComparator.CompareFunctor> DEFAULT_COMPARE_REGISTRY
 
- 
DEFAULT_COMPARATOR
public static final FieldBasedTupleComparator DEFAULT_COMPARATOR
 
- 
REGEX_COMPARATOR
public static final FieldBasedTupleComparator REGEX_COMPARATOR
 
- 
IGNORE_TIMESTAMP_COMPARATOR
public static final FieldBasedTupleComparator IGNORE_TIMESTAMP_COMPARATOR
 
 - 
 
- 
Constructor Detail
- 
FieldBasedTupleComparator
public FieldBasedTupleComparator(DataType.Registry<FieldBasedTupleComparator.CompareFunctor> comparators, String... fields) throws StreamBaseException
- Throws:
 StreamBaseException
 
- 
FieldBasedTupleComparator
public FieldBasedTupleComparator(FieldBasedTupleComparator baseComparator, String... fields) throws StreamBaseException
- Throws:
 StreamBaseException
 
 - 
 
- 
Method Detail
- 
compare
public boolean compare(Tuple expected, Tuple actual) throws StreamBaseException
Description copied from interface:TupleComparatorCompare two tuples.- Specified by:
 comparein interfaceTupleComparator- Parameters:
 expected- The expected valueactual- The actual value- Returns:
 - true if the tuples are equal
 - Throws:
 StreamBaseException
 
- 
compareValues
public boolean compareValues(CompleteDataType cdt, Object expected, Object actual) throws StreamBaseException
Description copied from interface:TupleComparatorCompare two values withCompleteDataTypecdt.- Specified by:
 compareValuesin interfaceTupleComparator- Parameters:
 cdt- TheCompleteDataTypefor the objects being comparedexpected- The expected valueactual- The actual value- Returns:
 - true if the values are equal
 - Throws:
 StreamBaseException
 
- 
formatForErrorMessage
public String formatForErrorMessage(Tuple t)
Description copied from interface:TupleComparatorConvert the provided Tuple into a string appropriate for error messages. Some comparators may wish to omit fields that are not salient to the comparison.- Specified by:
 formatForErrorMessagein interfaceTupleComparator- Parameters:
 t- The tuple to format- Returns:
 - A human readable string.
 
 
 - 
 
 -