// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'package:test/test.dart'; void shouldFail(Object? value, Matcher matcher, Object? expected) { var failed = false; try { expect(value, matcher); } on TestFailure catch (err) { failed = true; var errorString = err.message; if (expected is String) { expect(errorString, equalsIgnoringWhitespace(expected)); } else { expect(errorString?.replaceAll('\n', ''), expected); } } expect(failed, isTrue, reason: 'Expected to fail.'); } void shouldPass(Object? value, Matcher matcher) { expect(value, matcher); } void doesNotThrow() {} void doesThrow() { throw StateError('X'); } class Widget { int? price; } class SimpleIterable extends Iterable { final int count; SimpleIterable(this.count); @override Iterator get iterator => _SimpleIterator(count); } class _SimpleIterator implements Iterator { int _count; int _current; _SimpleIterator(this._count) : _current = -1; @override bool moveNext() { if (_count > 0) { _current = _count; _count--; return true; } _current = -1; return false; } @override int get current => _current; }