com.codereligion.cherry.test.hamcrest.logback
Class LoggingEventHasLevel

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeMatcher<ch.qos.logback.classic.spi.ILoggingEvent>
          extended by com.codereligion.cherry.test.hamcrest.logback.LoggingEventHasLevel
All Implemented Interfaces:
org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent>, org.hamcrest.SelfDescribing

public class LoggingEventHasLevel
extends org.hamcrest.TypeSafeMatcher<ch.qos.logback.classic.spi.ILoggingEvent>

A matcher which expects the ILoggingEvent to have a specific Level.

Since:
17.03.2015
Author:
Sebastian Gröbler

Method Summary
protected  void describeExpectation(org.hamcrest.Description description)
          Describes the expected data.
protected  void describeMismatchSafely(ch.qos.logback.classic.spi.ILoggingEvent item, org.hamcrest.Description mismatchDescription)
           
protected  void describeNegatedExpectation(org.hamcrest.Description description)
          Describes the expected data when the matcher has been negated.
 void describeTo(org.hamcrest.Description description)
           
static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> doesNotHaveLevel(ch.qos.logback.classic.Level level)
          Creates a new matcher for ILoggingEvents that only matches when the examined event does not have a log level equal to the given Level.
static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> hasLevel(ch.qos.logback.classic.Level level)
          Creates a new matcher for ILoggingEvents that only matches when the examined event has a log level equal to the given Level.
protected  boolean internalMatches(ch.qos.logback.classic.spi.ILoggingEvent event)
          This method must return true when the given event matches.
 boolean matchesSafely(ch.qos.logback.classic.spi.ILoggingEvent event)
           
static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> withLevel(ch.qos.logback.classic.Level level)
          Creates a new matcher for ILoggingEvents that only matches when the examined event has a log level equal to the given Level.
 
Methods inherited from class org.hamcrest.TypeSafeMatcher
describeMismatch, matches
 
Methods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

hasLevel

public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> hasLevel(ch.qos.logback.classic.Level level)
Creates a new matcher for ILoggingEvents that only matches when the examined event has a log level equal to the given Level. This matcher is doing the same assertion as withLevel(Level), with the difference that this matcher's output is optimized for usage on single events.

Example usage: assertThat(event, hasLevel(Level.ERROR));

Example output: Expected: an ILoggingEvent with level: ERROR but: was ILoggingEvent{level=INFO, formattedMessage='some Message', loggedBy=SomeLogger, throwable=null}

Parameters:
level - the level to match the event's log level against
Returns:
a new matcher
Throws:
IllegalArgumentException - when the given parameter is null

doesNotHaveLevel

public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> doesNotHaveLevel(ch.qos.logback.classic.Level level)
Creates a new matcher for ILoggingEvents that only matches when the examined event does not have a log level equal to the given Level. This matcher is the negation of hasLevel(Level). It is recommended to use this specific matcher instead of just combining the other matcher with CoreMatchers.not(Matcher) because of the improved error output.

Example usage: assertThat(event, doesNotHaveLevel(Level.ERROR));

Example output: Expected: an ILoggingEvent with level other than: ERROR but: was ILoggingEvent{level=ERROR, formattedMessage='some Message', loggedBy=SomeLogger, throwable=null}

Parameters:
level - the level to match the event's log level against
Returns:
a new matcher
Throws:
IllegalArgumentException - when the given parameter is null

withLevel

public static org.hamcrest.Matcher<ch.qos.logback.classic.spi.ILoggingEvent> withLevel(ch.qos.logback.classic.Level level)
Creates a new matcher for ILoggingEvents that only matches when the examined event has a log level equal to the given Level. This matcher is doing the same assertion as hasLevel(Level), with the difference that this matcher's output is optimized for usage on iterables of events.

Example usage: assertThat(events, hasItem(withLevel(Level.ERROR)));

Example output: Expected: an iterable containing an ILoggingEvent with level: ERROR but: iterable contained [ILoggingEvent{level=INFO, formattedMessage='some Message', loggedBy=SomeLogger, throwable=null}]

Parameters:
level - the level to match the event's log level against
Returns:
a new matcher
Throws:
IllegalArgumentException - when the given parameter is null

internalMatches

protected boolean internalMatches(ch.qos.logback.classic.spi.ILoggingEvent event)
This method must return true when the given event matches. Proper negation is handled by the caller of this method.

Parameters:
event - the ILoggingEvent to be checked
Returns:
true if the event matches

describeExpectation

protected void describeExpectation(org.hamcrest.Description description)
Describes the expected data.

Parameters:
description - the Description to amend the text

describeNegatedExpectation

protected void describeNegatedExpectation(org.hamcrest.Description description)
Describes the expected data when the matcher has been negated.

Parameters:
description - the Description to amend the text

matchesSafely

public boolean matchesSafely(ch.qos.logback.classic.spi.ILoggingEvent event)
Specified by:
matchesSafely in class org.hamcrest.TypeSafeMatcher<ch.qos.logback.classic.spi.ILoggingEvent>

describeTo

public void describeTo(org.hamcrest.Description description)

describeMismatchSafely

protected void describeMismatchSafely(ch.qos.logback.classic.spi.ILoggingEvent item,
                                      org.hamcrest.Description mismatchDescription)
Overrides:
describeMismatchSafely in class org.hamcrest.TypeSafeMatcher<ch.qos.logback.classic.spi.ILoggingEvent>


Copyright © 2015. All rights reserved.