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

part of mocks;

class FlagsRepositoryMock implements M.FlagsRepository {
  final Iterable<M.Flag> _list;
  bool isListInvoked = false;

  Future<Iterable<M.Flag>> list() async {
    isListInvoked = true;
    return _list;
  }

  FlagsRepositoryMock({Iterable<M.Flag> list: const []})
    : _list = new List.unmodifiable(list);
}
