### Question:
NotContainsMatcher extends AbstractMatcher { @Override public boolean isSatisfiedBy(String currentValue) { return !CalculateService.contains(getPattern(), getValue(), currentValue); } NotContainsMatcher(String value);  NotContainsMatcher(Pattern value); @Override MatcherType getMatcherType(); @Override boolean isSatisfiedBy(String currentValue);  }### Answer:
@Test public void shouldNotContainString() { NotContainsMatcher matcher = new NotContainsMatcher("some value"); assertThat(matcher.isSatisfiedBy("non-matching")).isTrue(); }
@Test public void shouldContainString() { NotContainsMatcher matcher = new NotContainsMatcher("me value"); assertThat(matcher.isSatisfiedBy("some value")).isFalse(); }
@Test public void shouldNotContainPattern() { NotContainsMatcher matcher = new NotContainsMatcher(Pattern.compile("value.*")); assertThat(matcher.isSatisfiedBy("non-matching")).isTrue(); }
@Test public void shouldContainPattern() { NotContainsMatcher matcher = new NotContainsMatcher(Pattern.compile("me value.*")); assertThat(matcher.isSatisfiedBy("some value")).isFalse(); }