Class JsonMatcher<T>

  • All Implemented Interfaces:
    org.hamcrest.Matcher<T>, org.hamcrest.SelfDescribing

    public abstract class JsonMatcher<T>
    extends org.hamcrest.TypeSafeMatcher<T>
    Matcher to compare a string or byte[] representing a JSON Object, independent of field order.
       assertThat("{\"name\": \"person\", \"height\": 80}",
                  jsonStringLike("{\"height\": 80, \"name\": \"person\"}"));
     
    • Constructor Summary

      Constructors 
      Constructor Description
      JsonMatcher​(java.util.Map<java.lang.String,​java.lang.Object> expectedMap)  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void describeMismatchSafely​(T item, org.hamcrest.Description mismatchDescription)  
      void describeTo​(org.hamcrest.Description description)  
      static org.hamcrest.Matcher<byte[]> jsonBytesLike​(java.lang.String json)  
      static org.hamcrest.Matcher<byte[]> jsonBytesLike​(java.util.Map<java.lang.String,​java.lang.Object> fields)  
      static org.hamcrest.Matcher<java.lang.String> jsonStringLike​(java.lang.String json)  
      static org.hamcrest.Matcher<java.lang.String> jsonStringLike​(java.util.Map<java.lang.String,​java.lang.Object> fields)  
      protected boolean matchesSafely​(T actual)  
      protected abstract java.util.Map<java.lang.String,​java.lang.Object> parse​(T json)  
      • Methods inherited from class org.hamcrest.TypeSafeMatcher

        describeMismatch, matches
      • Methods inherited from class org.hamcrest.BaseMatcher

        _dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • JsonMatcher

        public JsonMatcher​(java.util.Map<java.lang.String,​java.lang.Object> expectedMap)
    • Method Detail

      • parse

        protected abstract java.util.Map<java.lang.String,​java.lang.Object> parse​(T json)
                                                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • jsonBytesLike

        public static org.hamcrest.Matcher<byte[]> jsonBytesLike​(java.lang.String json)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • jsonBytesLike

        public static org.hamcrest.Matcher<byte[]> jsonBytesLike​(java.util.Map<java.lang.String,​java.lang.Object> fields)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • jsonStringLike

        public static org.hamcrest.Matcher<java.lang.String> jsonStringLike​(java.lang.String json)
                                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • jsonStringLike

        public static org.hamcrest.Matcher<java.lang.String> jsonStringLike​(java.util.Map<java.lang.String,​java.lang.Object> fields)
                                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • matchesSafely

        protected boolean matchesSafely​(T actual)
        Specified by:
        matchesSafely in class org.hamcrest.TypeSafeMatcher<T>
      • describeTo

        public void describeTo​(org.hamcrest.Description description)
      • describeMismatchSafely

        protected void describeMismatchSafely​(T item,
                                              org.hamcrest.Description mismatchDescription)
        Overrides:
        describeMismatchSafely in class org.hamcrest.TypeSafeMatcher<T>