Home | History | Annotate | Download | only in matchers
      1 /*
      2  * Copyright (c) 2007 Mockito contributors
      3  * This program is made available under the terms of the MIT License.
      4  */
      5 
      6 package org.mockito.internal.matchers;
      7 
      8 import java.io.Serializable;
      9 
     10 import org.hamcrest.Description;
     11 import org.mockito.ArgumentMatcher;
     12 
     13 
     14 public class Matches extends ArgumentMatcher<Object> implements Serializable {
     15 
     16     private static final long serialVersionUID = 8787704593379472029L;
     17     private final String regex;
     18 
     19     public Matches(String regex) {
     20         this.regex = regex;
     21     }
     22 
     23     public boolean matches(Object actual) {
     24         return (actual instanceof String) && ((String) actual).matches(regex);
     25     }
     26 
     27     public void describeTo(Description description) {
     28         description.appendText("matches(\"" + regex.replaceAll("\\\\", "\\\\\\\\")
     29                 + "\")");
     30     }
     31 }
     32