anchor.diff:          "but:  exception <Exception> does not match "
               "UnsupportedError.");
       });
  -    
  +
       test('throwsStateError', () {
         shouldPass(() { throw new StateError(''); },
             throwsStateError);
  
positive.code:   featureValueOf(actual) => actual.price;
  }
  
  class SimpleIterable extends Iterable {
    int count;
    SimpleIterable(this.count);
    
    bool contains(int val) => count < val ? false : true;
    
    bool any(bool f(element)) {
      for(var i = 0; i <= count; i++) {
        if(f(i)) return true;
      }
      return false;
    }
    
    String toString() => "<[$count]>";
  
    Iterator get iterator {
  
negative.code:       shouldPass(d, isEmpty);
        shouldFail(e, isEmpty, "Expected: empty but: was <[1]>.");
      });
  
      test('contains', () {
        var d = new SimpleIterable(3);
        shouldPass(d, contains(2));
        shouldFail(d, contains(5), "Expected: contains <5> but: was <[3]>.");
      });
    });
  
    group('Iterable Matchers', () {
  
      test('isEmpty', () {
  