// Copyright (c) 2014, 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.

/// Support for specifying test expectations, such as for unit tests.
library unittest.matcher;

export 'matcher/core_matchers.dart';
export 'matcher/description.dart';
export 'matcher/error_matchers.dart';
export 'matcher/expect.dart';
export 'matcher/future_matchers.dart';
export 'matcher/interfaces.dart';
export 'matcher/iterable_matchers.dart';
export 'matcher/map_matchers.dart';
export 'matcher/numeric_matchers.dart';
export 'matcher/operator_matchers.dart';
export 'matcher/prints_matcher.dart';
export 'matcher/string_matchers.dart';
export 'matcher/throws_matcher.dart';
export 'matcher/throws_matchers.dart';
export 'matcher/util.dart';
