Class InternalMatcher
- java.lang.Object
-
- net.javacrumbs.jsonunit.core.internal.matchers.InternalMatcher
-
public final class InternalMatcher extends Object
Internal class, please do not use outside the library
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classInternalMatcher.ArrayMatcherArray assertions
-
Constructor Summary
Constructors Constructor Description InternalMatcher(Object actual, Path path, String description, Configuration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NodeassertType(Node.NodeType type)InternalMatcherdescribedAs(String description)Sets the description of this object.voidfailOnType(Node node, String expectedType)voidhasSameStructureAs(Object expected)Compares JSON structure.voidisAbsent()Fails if the node exists.InternalMatcher.ArrayMatcherisArray()Fails if the selected JSON is not an Array or is not present.voidisEqualTo(Object expected)voidisNotEqualTo(Object expected)Fails if compared documents are equal.voidisNotNull()voidisNull()voidisObject()Fails if the selected JSON is not an Object or is not present.voidisPresent()Fails if the node is missing.voidisPresent(String expectedValue)voidisString()Fails if the selected JSON is not a String or is not present.voidisStringEqualTo(String expected)Fails if the selected JSON is not a String or is not present or the value is not equal to expected value.voidmatches(org.hamcrest.Matcher<?> matcher)Matches the node using Hamcrest matcher.InternalMatchernode(String newPath)Creates an assert object that only compares given node.<T> InternalMatcherwhen(ConfigurationWhen.PathsParam object, ConfigurationWhen.ApplicableForPath... actions)Sets advanced/local options.InternalMatcherwhenIgnoringPaths(String... pathsToBeIgnored)InternalMatcherwithDifferenceListener(DifferenceListener differenceListener)InternalMatcherwithIgnorePlaceholder(String ignorePlaceholder)Sets the placeholder that can be used to ignore values.InternalMatcherwithMatcher(String matcherName, org.hamcrest.Matcher<?> matcher)Adds a internalMatcher to be used in ${json-unit.matches:matcherName} macro.InternalMatcherwithOptions(Option firstOption, Option... otherOptions)Sets options changing comparison behavior.InternalMatcherwithTolerance(double tolerance)Sets the tolerance for floating number comparison.InternalMatcherwithTolerance(BigDecimal tolerance)Sets the tolerance for floating number comparison.
-
-
-
Field Detail
-
ACTUAL
public static final String ACTUAL
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
InternalMatcher
public InternalMatcher(Object actual, Path path, String description, Configuration configuration)
-
-
Method Detail
-
whenIgnoringPaths
public InternalMatcher whenIgnoringPaths(String... pathsToBeIgnored)
-
describedAs
public InternalMatcher describedAs(String description)
Sets the description of this object.
-
withIgnorePlaceholder
public InternalMatcher withIgnorePlaceholder(String ignorePlaceholder)
Sets the placeholder that can be used to ignore values. The default value is ${json-unit.ignore}
-
withTolerance
public InternalMatcher withTolerance(double tolerance)
Sets the tolerance for floating number comparison. If set to null, requires exact match of the values. For example, if set to 0.01, ignores all differences lower than 0.01, so 1 and 0.9999 are considered equal.
-
withTolerance
public InternalMatcher withTolerance(BigDecimal tolerance)
Sets the tolerance for floating number comparison. If set to null, requires exact match of the values. For example, if set to 0.01, ignores all differences lower than 0.01, so 1 and 0.9999 are considered equal.
-
withMatcher
public InternalMatcher withMatcher(String matcherName, org.hamcrest.Matcher<?> matcher)
Adds a internalMatcher to be used in ${json-unit.matches:matcherName} macro.
-
withDifferenceListener
public InternalMatcher withDifferenceListener(DifferenceListener differenceListener)
-
withOptions
public InternalMatcher withOptions(Option firstOption, Option... otherOptions)
Sets options changing comparison behavior. This method has to be called before assertion. For more info seeOption- Parameters:
firstOption-otherOptions-- See Also:
Option
-
when
public final <T> InternalMatcher when(ConfigurationWhen.PathsParam object, ConfigurationWhen.ApplicableForPath... actions)
Sets advanced/local options. This method has to be called before assertion. For more info seeConfiguration.when(PathsParam, ApplicableForPath...)- Parameters:
object-actions-- See Also:
Configuration.when(PathsParam, ApplicableForPath...)
-
isEqualTo
public void isEqualTo(Object expected)
-
isStringEqualTo
public void isStringEqualTo(String expected)
Fails if the selected JSON is not a String or is not present or the value is not equal to expected value.
-
isNotEqualTo
public void isNotEqualTo(Object expected)
Fails if compared documents are equal. The expected object is converted to JSON before comparison. Ignores order of sibling nodes and whitespaces.- Parameters:
expected-
-
hasSameStructureAs
public void hasSameStructureAs(Object expected)
Compares JSON structure. Ignores values, only compares shape of the document and key names. Is too lenient, ignores types, prefer IGNORING_VALUES option instead.- Parameters:
expected-
-
node
public InternalMatcher node(String newPath)
Creates an assert object that only compares given node. The path is denoted by JSON path, for example.assertThatJson("{\"root\":{\"test\":[1,2,3]}}").node("root.test[0]").isEqualTo("1");- Parameters:
newPath-- Returns:
- object comparing only node given by path.
-
isAbsent
public void isAbsent()
Fails if the node exists.
-
isPresent
public void isPresent()
Fails if the node is missing.
-
isPresent
public void isPresent(String expectedValue)
-
isArray
public InternalMatcher.ArrayMatcher isArray()
Fails if the selected JSON is not an Array or is not present.- Returns:
-
assertType
public Node assertType(Node.NodeType type)
-
isObject
public void isObject()
Fails if the selected JSON is not an Object or is not present.
-
isString
public void isString()
Fails if the selected JSON is not a String or is not present.
-
isNull
public void isNull()
-
isNotNull
public void isNotNull()
-
matches
public void matches(org.hamcrest.Matcher<?> matcher)
Matches the node using Hamcrest matcher.- Numbers are mapped to BigDecimal
- Arrays are mapped to a Collection
- Objects are mapped to a map so you can use json(Part)Equals or a Map matcher
- Parameters:
matcher-
-
-