查询实现TypeSafeMatcher

时间:2018-11-16 00:02:41

标签: junit hamcrest

我想了解以下代码的工作方式:

class DateChecker { 
     public static Matcher<String> checkDate(final String pattern) { 
         return new TypeSafeMatcher<String>() { 

             @Override 
             public void describeTo(Description description) { 
             description.appendText("expected result from check date: ").appendValue(pattern); 
             } 

             @Override 
             public boolean matchesSafely(final String date) { 
                 return pattern.equals(date); 

             } 

             @Override 
             public void describeMismatchSafely(final String date, final Description mismatchDescription) { 
             String str = mismatchDescription.toString(); 
             mismatchDescription.appendText("was ").appendValue(date); 
             }

         };
     } 
} 

代码块

return new TypeSafeMatcher<String>() { 

             @Override 
             public void describeTo(Description description) { 
             description.appendText("expected result from check date: ").appendValue(pattern); 
             } 

             @Override 
             public boolean matchesSafely(final String date) { 
                 return pattern.equals(date); 

             } 

             @Override 
             public void describeMismatchSafely(final String date, final Description mismatchDescription) { 
             String str = mismatchDescription.toString(); 
             mismatchDescription.appendText("was ").appendValue(date); 
             }

         };

我不明白这是什么以及它如何工作。它有一个用{}括起来并以;结尾的代码块; 。我是否在这里缺少结构概念,因为我从未见过此类代码。

如果有人可以向我解释这个概念,那将是很大的帮助。

谢谢, 苏拉卜

0 个答案:

没有答案