001 /* Copyright (c) 2000-2006 hamcrest.org 002 */ 003 package org.hamcrest.core; 004 005 import org.hamcrest.Factory; 006 import org.hamcrest.Matcher; 007 008 /** 009 * Tests if the argument is a string that contains a substring. 010 */ 011 public class StringEndsWith extends SubstringMatcher { 012 public StringEndsWith(String substring) { 013 super(substring); 014 } 015 016 @Override 017 protected boolean evalSubstringOf(String s) { 018 return s.endsWith(substring); 019 } 020 021 @Override 022 protected String relationship() { 023 return "ending with"; 024 } 025 026 /** 027 * Creates a matcher that matches if the examined {@link String} ends with the specified 028 * {@link String}. 029 * <p/> 030 * For example: 031 * <pre>assertThat("myStringOfNote", endsWith("Note"))</pre> 032 * 033 * @param suffix 034 * the substring that the returned matcher will expect at the end of any examined string 035 */ 036 @Factory 037 public static Matcher<String> endsWith(String suffix) { 038 return new StringEndsWith(suffix); 039 } 040 041 }