public void ListDevicesAndArchitectures() { var runner = new AdbRunner(_mainLog.Object, _processManager.Object, s_adbPath); var result = runner.GetDevices(); VerifyAdbCall("devices", "-l"); // Ensure it called, parsed the four random device names and found all four architectures foreach (var fakeDevice in _fakeDeviceList) { VerifyAdbCall("-s", fakeDevice.DeviceSerial, "shell", "getprop", "ro.product.cpu.abilist"); Assert.Equal(fakeDevice.SupportedArchitectures, result.Single(d => d.DeviceSerial == fakeDevice.DeviceSerial).SupportedArchitectures); VerifyAdbCall("-s", fakeDevice.DeviceSerial, "shell", "getprop", "ro.build.version.sdk"); Assert.Equal(fakeDevice.ApiVersion, result.Single(d => d.ApiVersion == fakeDevice.ApiVersion).ApiVersion); VerifyAdbCall("-s", fakeDevice.DeviceSerial, "shell", "getprop", "ro.product.cpu.abi"); Assert.Equal(fakeDevice.Architecture, result.Single(d => d.DeviceSerial == fakeDevice.DeviceSerial).Architecture); } Assert.Equal(4, result.Count); }