Class JsonAsserterImpl

java.lang.Object
com.jayway.jsonassert.impl.JsonAsserterImpl
All Implemented Interfaces:
JsonAsserter

public class JsonAsserterImpl extends Object implements JsonAsserter
  • Field Details

    • jsonObject

      private final Object jsonObject
  • Constructor Details

    • JsonAsserterImpl

      public JsonAsserterImpl(Object jsonObject)
      Instantiates a new JSONAsserter
      Parameters:
      jsonObject - the object to make asserts on
  • Method Details

    • assertThat

      public <T> JsonAsserter assertThat(String path, org.hamcrest.Matcher<T> matcher)
      Asserts that object specified by path satisfies the condition specified by matcher. If not, an AssertionError is thrown with information about the matcher and failing value. Example:

      with(json).assertThat("items[0].name", equalTo("Bobby")) .assertThat("items[0].age" , equalTo(24L))

      Specified by:
      assertThat in interface JsonAsserter
      Type Parameters:
      T - the static type accepted by the matcher
      Parameters:
      path - the json path specifying the value being compared
      matcher - an expression, built of Matchers, specifying allowed values
      Returns:
      this to allow fluent assertion chains
    • assertThat

      public <T> JsonAsserter assertThat(String path, org.hamcrest.Matcher<T> matcher, String message)
      Specified by:
      assertThat in interface JsonAsserter
      Type Parameters:
      T -
      Parameters:
      path -
      matcher -
      message -
      Returns:
    • assertEquals

      public <T> JsonAsserter assertEquals(String path, T expected)
      Asserts that object specified by path is equal to the expected value. If they are not, an AssertionError is thrown with the given message.
      Specified by:
      assertEquals in interface JsonAsserter
      Type Parameters:
      T - the static type that should be returned by the path
      Parameters:
      path - the json path specifying the value being compared
      expected - the expected value
      Returns:
      this to allow fluent assertion chains
    • assertNotDefined

      public JsonAsserter assertNotDefined(String path)
      Checks that a path is not defined within a document. If the document contains the given path, an AssertionError is thrown
      Specified by:
      assertNotDefined in interface JsonAsserter
      Parameters:
      path - the path to make sure not exists
      Returns:
      this
    • assertNotDefined

      public JsonAsserter assertNotDefined(String path, String message)
      Specified by:
      assertNotDefined in interface JsonAsserter
    • assertNull

      public JsonAsserter assertNull(String path)
      Asserts that object specified by path is null. If it is not, an AssertionError is thrown with the given message.
      Specified by:
      assertNull in interface JsonAsserter
      Parameters:
      path - the json path specifying the value that should be null
      Returns:
      this to allow fluent assertion chains
    • assertNull

      public JsonAsserter assertNull(String path, String message)
      Specified by:
      assertNull in interface JsonAsserter
    • assertEquals

      public <T> JsonAsserter assertEquals(String path, T expected, String message)
      Specified by:
      assertEquals in interface JsonAsserter
    • assertNotNull

      public <T> JsonAsserter assertNotNull(String path)
      Asserts that object specified by path is NOT null. If it is, an AssertionError is thrown with the given message.
      Specified by:
      assertNotNull in interface JsonAsserter
      Parameters:
      path - the json path specifying the value that should be NOT null
      Returns:
      this to allow fluent assertion chains
    • assertNotNull

      public <T> JsonAsserter assertNotNull(String path, String message)
      Specified by:
      assertNotNull in interface JsonAsserter
    • and

      public JsonAsserter and()
      Syntactic sugar to allow chaining assertions with a separating and() statement

      with(json).assertThat("firstName", is(equalTo("Bobby"))).and().assertThat("lastName", is(equalTo("Ewing")))

      Specified by:
      and in interface JsonAsserter
      Returns:
      this to allow fluent assertion chains