Skip to content

Commit 6b3509f

Browse files
committed
Add DebuggerDisplay
Change DeviceData and ForwardData to struct
1 parent 9c3bfb2 commit 6b3509f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+695
-378
lines changed

AdvancedSharpAdbClient.Tests/DeviceCommands/DeviceClientTexts.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ public partial class DeviceClientTexts
2222
[Fact]
2323
public void ConstructorNullTest()
2424
{
25-
_ = Assert.Throws<ArgumentNullException>(() => new DeviceClient(null, null));
26-
_ = Assert.Throws<ArgumentNullException>(() => new DeviceClient(null, new DeviceData()));
27-
_ = Assert.Throws<ArgumentNullException>(() => new DeviceClient(Substitute.For<IAdbClient>(), null));
25+
_ = Assert.Throws<ArgumentNullException>(() => new DeviceClient(null, default));
26+
_ = Assert.Throws<ArgumentNullException>(() => new DeviceClient(null, new DeviceData { Serial = "169.254.109.177:5555" }));
2827
_ = Assert.Throws<ArgumentOutOfRangeException>(() => new DeviceClient(Substitute.For<IAdbClient>(), new DeviceData()));
2928
}
3029

AdvancedSharpAdbClient.Tests/DeviceCommands/DeviceExtensionsTests.Async.cs

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ public async void ExecuteServerCommandAsyncTest()
1919
List<string> result = ["Hello", "World", "!"];
2020

2121
IAdbClient client = Substitute.For<IAdbClient>();
22-
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<CancellationToken>())
22+
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Device, Arg.Any<CancellationToken>())
2323
.Returns(x =>
2424
{
2525
Assert.Equal(command, x.ArgAt<string>(0));
2626
Assert.Equal(Device, x.ArgAt<DeviceData>(1));
2727
Assert.Equal(default, x.ArgAt<CancellationToken>(2));
2828
return Task.CompletedTask;
2929
});
30-
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
30+
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Device, Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
3131
.Returns(x =>
3232
{
3333
Assert.Equal(command, x.ArgAt<string>(0));
@@ -187,9 +187,7 @@ public async void GetEnvironmentVariablesAsyncTest()
187187

188188
adbClient.Commands[$"shell:{EnvironmentVariablesReceiver.PrintEnvCommand}"] = "a=b";
189189

190-
DeviceData device = new();
191-
192-
Dictionary<string, string> variables = await adbClient.GetEnvironmentVariablesAsync(device);
190+
Dictionary<string, string> variables = await adbClient.GetEnvironmentVariablesAsync(Device);
193191
Assert.NotNull(variables);
194192
Assert.Single(variables.Keys);
195193
Assert.True(variables.ContainsKey("a"));
@@ -206,11 +204,7 @@ public async void UninstallPackageAsyncTests()
206204

207205
adbClient.Commands["shell:pm uninstall com.example"] = "Success";
208206

209-
DeviceData device = new()
210-
{
211-
State = DeviceState.Online
212-
};
213-
await adbClient.UninstallPackageAsync(device, "com.example");
207+
await adbClient.UninstallPackageAsync(Device, "com.example");
214208

215209
Assert.Single(adbClient.ReceivedCommands);
216210
Assert.Equal("shell:pm uninstall com.example", adbClient.ReceivedCommands[0]);
@@ -452,11 +446,7 @@ public async void GetPackageVersionAsyncTest(string command, int versionCode, st
452446

453447
adbClient.Commands[$"shell:dumpsys package {packageName}"] = command;
454448

455-
DeviceData device = new()
456-
{
457-
State = DeviceState.Online
458-
};
459-
VersionInfo version = await adbClient.GetPackageVersionAsync(device, packageName);
449+
VersionInfo version = await adbClient.GetPackageVersionAsync(Device, packageName);
460450

461451
Assert.Equal(versionCode, version.VersionCode);
462452
Assert.Equal(versionName, version.VersionName);
@@ -497,8 +487,7 @@ public async void ListProcessesAsyncTest()
497487
498488
3 (ksoftirqd/0) S 2 0 0 0 -1 69238848 0 0 0 0 0 23 0 0 20 0 1 0 7 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744071579284070 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
499489

500-
DeviceData device = new();
501-
List<AndroidProcess> processes = await adbClient.ListProcessesAsync(device);
490+
List<AndroidProcess> processes = await adbClient.ListProcessesAsync(Device);
502491

503492
Assert.Equal(3, processes.Count);
504493
Assert.Equal("init", processes[0].Name);

AdvancedSharpAdbClient.Tests/DeviceCommands/DeviceExtensionsTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ public void ExecuteServerCommandTest()
2424
IShellOutputReceiver receiver = new FunctionOutputReceiver(predicate);
2525

2626
IAdbClient client = Substitute.For<IAdbClient>();
27-
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), Arg.Any<DeviceData>()))
27+
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), Device))
2828
.Do(x =>
2929
{
3030
Assert.Equal(command, x.ArgAt<string>(0));
3131
Assert.Equal(Device, x.ArgAt<DeviceData>(1));
3232
});
33-
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>()))
33+
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), Device, Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>()))
3434
.Do(x =>
3535
{
3636
Assert.Equal(command, x.ArgAt<string>(0));

AdvancedSharpAdbClient.Tests/DeviceCommands/PackageManagerTests.Async.cs

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,7 @@ public async void InstallRemotePackageAsyncTest()
1414
adbClient.Commands["shell:pm install \"/data/base.apk\""] = "Success";
1515
adbClient.Commands["shell:pm install -r -t \"/data/base.apk\""] = "Success";
1616

17-
DeviceData device = new()
18-
{
19-
State = DeviceState.Online
20-
};
21-
22-
PackageManager manager = new(adbClient, device);
17+
PackageManager manager = new(adbClient, Device);
2318

2419
await manager.InstallRemotePackageAsync("/data/base.apk", new InstallProgress(PackageInstallProgressState.Installing));
2520

@@ -45,12 +40,7 @@ public async void InstallPackageAsyncTest()
4540
adbClient.Commands["shell:pm install \"/data/local/tmp/base.apk\""] = "Success";
4641
adbClient.Commands["shell:rm \"/data/local/tmp/base.apk\""] = string.Empty;
4742

48-
DeviceData device = new()
49-
{
50-
State = DeviceState.Online
51-
};
52-
53-
PackageManager manager = new(adbClient, device, (c, d) => syncService);
43+
PackageManager manager = new(adbClient, Device, (c, d) => syncService);
5444

5545
await manager.InstallPackageAsync("Assets/TestApp/base.apk",
5646
new InstallProgress(
@@ -83,12 +73,7 @@ public async void InstallMultipleRemotePackageAsyncTest()
8373
adbClient.Commands["shell:pm install-write 936013062 split1.apk \"/data/split_config.xxhdpi.apk\""] = "Success";
8474
adbClient.Commands["shell:pm install-commit 936013062"] = "Success";
8575

86-
DeviceData device = new()
87-
{
88-
State = DeviceState.Online
89-
};
90-
91-
PackageManager manager = new(adbClient, device);
76+
PackageManager manager = new(adbClient, Device);
9277

9378
await manager.InstallMultipleRemotePackageAsync("/data/base.apk", ["/data/split_config.arm64_v8a.apk", "/data/split_config.xxhdpi.apk"],
9479
new InstallProgress(
@@ -165,12 +150,7 @@ public async void InstallMultiplePackageAsyncTest()
165150
adbClient.Commands["shell:rm \"/data/local/tmp/split_config.arm64_v8a.apk\""] = string.Empty;
166151
adbClient.Commands["shell:rm \"/data/local/tmp/split_config.xxhdpi.apk\""] = string.Empty;
167152

168-
DeviceData device = new()
169-
{
170-
State = DeviceState.Online
171-
};
172-
173-
PackageManager manager = new(adbClient, device, (c, d) => syncService);
153+
PackageManager manager = new(adbClient, Device, (c, d) => syncService);
174154

175155
await manager.InstallMultiplePackageAsync("Assets/TestApp/base.apk", ["Assets/TestApp/split_config.arm64_v8a.apk", "Assets/TestApp/split_config.xxhdpi.apk"],
176156
new InstallProgress(
@@ -226,15 +206,10 @@ await manager.InstallMultiplePackageAsync(["Assets/TestApp/split_config.arm64_v8
226206
[Fact]
227207
public async void UninstallPackageAsyncTest()
228208
{
229-
DeviceData device = new()
230-
{
231-
State = DeviceState.Online
232-
};
233-
234209
DummyAdbClient client = new();
235210
client.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
236211
client.Commands["shell:pm uninstall com.android.gallery3d"] = "Success";
237-
PackageManager manager = new(client, device);
212+
PackageManager manager = new(client, Device);
238213

239214
// Command should execute correctly; if the wrong command is passed an exception
240215
// would be thrown.
@@ -244,14 +219,9 @@ public async void UninstallPackageAsyncTest()
244219
[Fact]
245220
public async void GetPackageVersionInfoAsyncTest()
246221
{
247-
DeviceData device = new()
248-
{
249-
State = DeviceState.Online
250-
};
251-
252222
DummyAdbClient client = new();
253223
client.Commands["shell:dumpsys package com.google.android.gms"] = File.ReadAllText("Assets/DumpSys.GApps.txt");
254-
PackageManager manager = new(client, device, skipInit: true);
224+
PackageManager manager = new(client, Device, skipInit: true);
255225

256226
VersionInfo versionInfo = await manager.GetVersionInfoAsync("com.google.android.gms");
257227
Assert.Equal(11062448, versionInfo.VersionCode);

AdvancedSharpAdbClient.Tests/DeviceCommands/PackageManagerTests.cs

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,28 @@ namespace AdvancedSharpAdbClient.DeviceCommands.Tests
77
{
88
public partial class PackageManagerTests
99
{
10+
protected static DeviceData Device { get; } = new()
11+
{
12+
Serial = "169.254.109.177:5555",
13+
State = DeviceState.Online
14+
};
15+
1016
[Fact]
1117
public void ConstructorNullTest()
1218
{
13-
_ = Assert.Throws<ArgumentNullException>(() => new PackageManager(null, null));
14-
_ = Assert.Throws<ArgumentNullException>(() => new PackageManager(null, new DeviceData()));
15-
_ = Assert.Throws<ArgumentNullException>(() => new PackageManager(Substitute.For<IAdbClient>(), null));
19+
_ = Assert.Throws<ArgumentNullException>(() => new PackageManager(null, default));
20+
_ = Assert.Throws<ArgumentNullException>(() => new PackageManager(null, new DeviceData { Serial = "169.254.109.177:5555" }));
21+
_ = Assert.Throws<ArgumentOutOfRangeException>(() => new PackageManager(Substitute.For<IAdbClient>(), default));
1622
}
1723

1824
[Theory]
1925
[InlineData("package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d", "com.android.gallery3d", "/system/app/Gallery2/Gallery2.apk")]
2026
[InlineData("package:mwc2015.be", "mwc2015.be", "")]
2127
public void PackagesPropertyTest(string command, string packageName, string path)
2228
{
23-
DeviceData device = new()
24-
{
25-
State = DeviceState.Online
26-
};
27-
2829
DummyAdbClient client = new();
2930
client.Commands["shell:pm list packages -f"] = command;
30-
PackageManager manager = new(client, device);
31+
PackageManager manager = new(client, Device);
3132

3233
Assert.True(manager.Packages.ContainsKey(packageName));
3334
Assert.Equal(path, manager.Packages[packageName]);
@@ -42,12 +43,7 @@ public void InstallRemotePackageTest()
4243
adbClient.Commands["shell:pm install \"/data/base.apk\""] = "Success";
4344
adbClient.Commands["shell:pm install -r -t \"/data/base.apk\""] = "Success";
4445

45-
DeviceData device = new()
46-
{
47-
State = DeviceState.Online
48-
};
49-
50-
PackageManager manager = new(adbClient, device);
46+
PackageManager manager = new(adbClient, Device);
5147

5248
manager.InstallRemotePackage("/data/base.apk", new InstallProgress(PackageInstallProgressState.Installing));
5349

@@ -73,12 +69,7 @@ public void InstallPackageTest()
7369
adbClient.Commands["shell:pm install \"/data/local/tmp/base.apk\""] = "Success";
7470
adbClient.Commands["shell:rm \"/data/local/tmp/base.apk\""] = string.Empty;
7571

76-
DeviceData device = new()
77-
{
78-
State = DeviceState.Online
79-
};
80-
81-
PackageManager manager = new(adbClient, device, (c, d) => syncService);
72+
PackageManager manager = new(adbClient, Device, (c, d) => syncService);
8273

8374
manager.InstallPackage("Assets/TestApp/base.apk",
8475
new InstallProgress(
@@ -111,12 +102,7 @@ public void InstallMultipleRemotePackageTest()
111102
adbClient.Commands["shell:pm install-write 936013062 split1.apk \"/data/split_config.xxhdpi.apk\""] = "Success";
112103
adbClient.Commands["shell:pm install-commit 936013062"] = "Success";
113104

114-
DeviceData device = new()
115-
{
116-
State = DeviceState.Online
117-
};
118-
119-
PackageManager manager = new(adbClient, device);
105+
PackageManager manager = new(adbClient, Device);
120106

121107
manager.InstallMultipleRemotePackage("/data/base.apk", ["/data/split_config.arm64_v8a.apk", "/data/split_config.xxhdpi.apk"],
122108
new InstallProgress(
@@ -193,12 +179,7 @@ public void InstallMultiplePackageTest()
193179
adbClient.Commands["shell:rm \"/data/local/tmp/split_config.arm64_v8a.apk\""] = string.Empty;
194180
adbClient.Commands["shell:rm \"/data/local/tmp/split_config.xxhdpi.apk\""] = string.Empty;
195181

196-
DeviceData device = new()
197-
{
198-
State = DeviceState.Online
199-
};
200-
201-
PackageManager manager = new(adbClient, device, (c, d) => syncService);
182+
PackageManager manager = new(adbClient, Device, (c, d) => syncService);
202183

203184
manager.InstallMultiplePackage("Assets/TestApp/base.apk", ["Assets/TestApp/split_config.arm64_v8a.apk", "Assets/TestApp/split_config.xxhdpi.apk"],
204185
new InstallProgress(
@@ -254,15 +235,10 @@ public void InstallMultiplePackageTest()
254235
[Fact]
255236
public void UninstallPackageTest()
256237
{
257-
DeviceData device = new()
258-
{
259-
State = DeviceState.Online
260-
};
261-
262238
DummyAdbClient client = new();
263239
client.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
264240
client.Commands["shell:pm uninstall com.android.gallery3d"] = "Success";
265-
PackageManager manager = new(client, device);
241+
PackageManager manager = new(client, Device);
266242

267243
// Command should execute correctly; if the wrong command is passed an exception
268244
// would be thrown.
@@ -272,14 +248,9 @@ public void UninstallPackageTest()
272248
[Fact]
273249
public void GetPackageVersionInfoTest()
274250
{
275-
DeviceData device = new()
276-
{
277-
State = DeviceState.Online
278-
};
279-
280251
DummyAdbClient client = new();
281252
client.Commands["shell:dumpsys package com.google.android.gms"] = File.ReadAllText("Assets/DumpSys.GApps.txt");
282-
PackageManager manager = new(client, device, skipInit: true);
253+
PackageManager manager = new(client, Device, skipInit: true);
283254

284255
VersionInfo versionInfo = manager.GetVersionInfo("com.google.android.gms");
285256
Assert.Equal(11062448, versionInfo.VersionCode);

AdvancedSharpAdbClient.Tests/DeviceCommands/Receivers/PackageManagerReceiverTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public void ParseThirdPartyPackage()
1010
// Arrange
1111
DeviceData device = new()
1212
{
13+
Serial = "169.254.109.177:5555",
1314
State = DeviceState.Online
1415
};
1516

AdvancedSharpAdbClient.Tests/Extensions/AdbClientExtensionsTests.Async.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ public async void ExecuteServerCommandAsyncTest()
7878
public async void ExecuteRemoteCommandAsyncTest()
7979
{
8080
const string command = nameof(command);
81-
DeviceData device = new();
81+
DeviceData device = new() { Serial = "169.254.109.177:5555" };
8282
static bool predicate(string x) => true;
8383
IShellOutputReceiver receiver = new FunctionOutputReceiver(predicate);
8484
Encoding encoding = AdbClient.Encoding;
8585
List<string> result = ["Hello", "World", "!"];
8686

8787
IAdbClient client = Substitute.For<IAdbClient>();
88-
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
88+
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), device, Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
8989
.Returns(x =>
9090
{
9191
Assert.Equal(command, x.ArgAt<string>(0));
@@ -95,7 +95,7 @@ public async void ExecuteRemoteCommandAsyncTest()
9595
Assert.Equal(default, x.ArgAt<CancellationToken>(4));
9696
return Task.CompletedTask;
9797
});
98-
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
98+
_ = client.ExecuteRemoteCommandAsync(Arg.Any<string>(), device, Arg.Any<Encoding>(), Arg.Any<CancellationToken>())
9999
.Returns(x =>
100100
{
101101
Assert.Equal(command, x.ArgAt<string>(0));
@@ -114,13 +114,13 @@ public async void ExecuteRemoteCommandAsyncTest()
114114
[Fact]
115115
public async void RunLogServiceAsyncTest()
116116
{
117-
DeviceData device = new();
117+
DeviceData device = new() { Serial = "169.254.109.177:5555" };
118118
IProgress<LogEntry> progress = Substitute.For<IProgress<LogEntry>>();
119119
Action<LogEntry> messageSink = progress.Report;
120120
LogId[] logNames = Enumerable.Range((int)LogId.Min, (int)(LogId.Max - LogId.Min + 1)).Select(x => (LogId)x).ToArray();
121121

122122
IAdbClient client = Substitute.For<IAdbClient>();
123-
_ = client.RunLogServiceAsync(Arg.Any<DeviceData>(), Arg.Any<Action<LogEntry>>(), Arg.Any<CancellationToken>(), Arg.Any<LogId[]>())
123+
_ = client.RunLogServiceAsync(device, Arg.Any<Action<LogEntry>>(), Arg.Any<CancellationToken>(), Arg.Any<LogId[]>())
124124
.Returns(x =>
125125
{
126126
Assert.Equal(device, x.ArgAt<DeviceData>(0));

AdvancedSharpAdbClient.Tests/Extensions/AdbClientExtensionsTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@ public void ExecuteRemoteCommandTest()
8080
IEnumerable<string> result = ["Hello", "World", "!"];
8181

8282
IAdbClient client = Substitute.For<IAdbClient>();
83-
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>()))
83+
client.When(x => x.ExecuteRemoteCommand(Arg.Any<string>(), device, Arg.Any<IShellOutputReceiver>(), Arg.Any<Encoding>()))
8484
.Do(x =>
8585
{
8686
Assert.Equal(command, x.ArgAt<string>(0));
8787
Assert.Equal(device, x.ArgAt<DeviceData>(1));
8888
Assert.Equal(receiver, x.ArgAt<IShellOutputReceiver>(2));
8989
Assert.Equal(encoding, x.ArgAt<Encoding>(3));
9090
});
91-
_ = client.ExecuteRemoteCommand(Arg.Any<string>(), Arg.Any<DeviceData>(), Arg.Any<Encoding>())
91+
_ = client.ExecuteRemoteCommand(Arg.Any<string>(), device, Arg.Any<Encoding>())
9292
.Returns(x =>
9393
{
9494
Assert.Equal(command, x.ArgAt<string>(0));
@@ -113,7 +113,7 @@ public void RunLogServiceTest()
113113
LogId[] logNames = Enumerable.Range((int)LogId.Min, (int)(LogId.Max - LogId.Min + 1)).Select(x => (LogId)x).ToArray();
114114

115115
IAdbClient client = Substitute.For<IAdbClient>();
116-
client.When(x => x.RunLogService(Arg.Any<DeviceData>(), Arg.Any<Action<LogEntry>>(), Arg.Any<bool>(), Arg.Any<LogId[]>()))
116+
client.When(x => x.RunLogService(device, Arg.Any<Action<LogEntry>>(), Arg.Any<bool>(), Arg.Any<LogId[]>()))
117117
.Do(x =>
118118
{
119119
Assert.Equal(device, x.ArgAt<DeviceData>(0));

0 commit comments

Comments
 (0)