
com.mastercard.test.flow.Unpredictable Maven / Gradle / Ivy
The newest version!
package com.mastercard.test.flow;
/**
*
* Represents those components of a system that are unattractive to reliably
* predict. Examples include:
*
*
* - Random number generators
* - UUIDs, cryptographic content
* - Clocks
* - Dates, times
* - Human input
* - We are a malicious species
* - System state
* - Incrementing counters, historic data, IP addresses
* - Boring stuff
* - Things like message length headers that would be tedious to accurately
* model and that we have good confidence won't break in difficult-to-diagnose
* ways
*
*
* The sources of unpredictability can be supplied to {@link Message} instances
* when assertable content is requested. The {@link Message} implementation thus
* has the opportunity to mask out those fields that cannot be asserted on.
*
* @see Message#assertable(Unpredictable...)
*/
public interface Unpredictable {
/**
* Defines a unique human-readable name for the source of unpredictability
*
* @return The name of this source of unpredictable content
*/
String name();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy