// Copyright 2016 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.import'dart:async';import'package:flutter_tools/src/base/context.dart';import'package:flutter_tools/src/base/logger.dart';import'package:flutter_tools/src/device.dart';import'package:test/test.dart';voidtestUsingContext(Stringdescription,dynamictestMethod(),{Timeouttimeout}){test(description,(){AppContexttestContext=newAppContext();testContext[Logger]=newBufferLogger();testContext[DeviceManager]=newMockDeviceManager();returntestContext.runInZone(testMethod);},timeout:timeout);}classMockDeviceManagerimplementsDeviceManager{StringspecifiedDeviceId;boolgethasSpecifiedDeviceId=>specifiedDeviceId!=null;Future<List<Device>>getAllConnectedDevices()=>newFuture.value(<Device>[]);Future<Device>getDeviceById(StringdeviceId)=>newFuture.value(null);Future<List<Device>>getDevices()=>getAllConnectedDevices();}