Home | History | Annotate | Download | only in collection
      1 package org.hamcrest.collection;
      2 
      3 
      4 import org.hamcrest.AbstractMatcherTest;
      5 import org.hamcrest.Matcher;
      6 
      7 import java.util.HashMap;
      8 import java.util.Map;
      9 import java.util.TreeMap;
     10 
     11 import static org.hamcrest.collection.IsMapContaining.hasValue;
     12 
     13 public class IsMapContainingValueTest extends AbstractMatcherTest {
     14 
     15     @Override
     16     protected Matcher<?> createMatcher() {
     17         return hasValue("foo");
     18     }
     19 
     20     public void testHasReadableDescription() {
     21         assertDescription("map containing [ANYTHING->\"a\"]", hasValue("a"));
     22     }
     23 
     24     public void testDoesNotMatchEmptyMap() {
     25         Map<String,Integer> map = new HashMap<String,Integer>();
     26         assertMismatchDescription("map was []", hasValue(1), map);
     27     }
     28 
     29     public void testMatchesSingletonMapContainingValue() {
     30         Map<String,Integer> map = new HashMap<String,Integer>();
     31         map.put("a", 1);
     32 
     33         assertMatches("Singleton map", hasValue(1), map);
     34     }
     35 
     36     public void testMatchesMapContainingValue() {
     37         Map<String,Integer> map = new TreeMap<String,Integer>();
     38         map.put("a", 1);
     39         map.put("b", 2);
     40         map.put("c", 3);
     41 
     42         assertMatches("hasValue 1", hasValue(1), map);
     43         assertMatches("hasValue 3", hasValue(3), map);
     44         assertMismatchDescription("map was [<a=1>, <b=2>, <c=3>]", hasValue(4), map);
     45     }
     46 }
     47