1b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot/* Copyright (c) 2000-2006 hamcrest.org 2b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot */ 3b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpackage org.junit.internal.matchers; 4b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 5b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotimport org.hamcrest.Factory; 6b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotimport org.hamcrest.Matcher; 7b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 8b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot/** 9b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * Tests if the argument is a string that contains a substring. 10b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot */ 11b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabotpublic class StringContains extends SubstringMatcher { 12b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot public StringContains(String substring) { 13b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot super(substring); 14b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 15b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 16b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot @Override 17b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot protected boolean evalSubstringOf(String s) { 18b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot return s.indexOf(substring) >= 0; 19b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 20b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 21b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot @Override 22b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot protected String relationship() { 23b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot return "containing"; 24b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 25b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 26b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot @Factory 27b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot public static Matcher<String> containsString(String substring) { 28b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot return new StringContains(substring); 29b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot } 30b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 31b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot}