Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
891 changes: 176 additions & 715 deletions AdvancedSharpAdbClient.Tests/AdbClientTests.Async.cs

Large diffs are not rendered by default.

927 changes: 250 additions & 677 deletions AdvancedSharpAdbClient.Tests/AdbClientTests.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="NSubstitute" Version="5.1.0" />
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4" PrivateAssets="all">
<PackageReference Include="xunit" Version="2.6.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.5" PrivateAssets="all">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
Expand Down
31 changes: 31 additions & 0 deletions AdvancedSharpAdbClient.Tests/Assets/DumpScreen.MIUI.txt

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
31 changes: 0 additions & 31 deletions AdvancedSharpAdbClient.Tests/Assets/dumpscreen_miui.txt

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion AdvancedSharpAdbClient.Tests/Assets/test.txt

This file was deleted.

469 changes: 469 additions & 0 deletions AdvancedSharpAdbClient.Tests/DeviceCommands/DeviceClientTexts.Async.cs

Large diffs are not rendered by default.

457 changes: 457 additions & 0 deletions AdvancedSharpAdbClient.Tests/DeviceCommands/DeviceClientTexts.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,53 @@ namespace AdvancedSharpAdbClient.DeviceCommands.Tests
{
public partial class DeviceExtensionsTests
{
/// <summary>
/// Tests the <see cref="DeviceExtensions.ClearInputAsync(IAdbClient, DeviceData, int, CancellationToken)"/> method.
/// </summary>
[Fact]
public async void ClearInputAsyncTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_MOVE_END"] = string.Empty;
client.Commands["shell:input keyevent KEYCODE_DEL KEYCODE_DEL KEYCODE_DEL"] = string.Empty;

await client.ClearInputAsync(Device, 3);

Assert.Equal(2, client.ReceivedCommands.Count);
Assert.Equal("shell:input keyevent KEYCODE_MOVE_END", client.ReceivedCommands[0]);
Assert.Equal("shell:input keyevent KEYCODE_DEL KEYCODE_DEL KEYCODE_DEL", client.ReceivedCommands[1]);
}

/// <summary>
/// Tests the <see cref="DeviceExtensions.ClickBackButtonAsync(IAdbClient, DeviceData, CancellationToken)"/> method.
/// </summary>
[Fact]
public async void ClickBackButtonAsyncTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_BACK"] = string.Empty;

await client.ClickBackButtonAsync(Device);

Assert.Single(client.ReceivedCommands);
Assert.Equal("shell:input keyevent KEYCODE_BACK", client.ReceivedCommands[0]);
}

/// <summary>
/// Tests the <see cref="DeviceExtensions.ClickHomeButtonAsync(IAdbClient, DeviceData, CancellationToken)"/> method.
/// </summary>
[Fact]
public async void ClickHomeButtonAsyncTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_HOME"] = string.Empty;

await client.ClickHomeButtonAsync(Device);

Assert.Single(client.ReceivedCommands);
Assert.Equal("shell:input keyevent KEYCODE_HOME", client.ReceivedCommands[0]);
}

[Fact]
public async void StatAsyncTest()
{
Expand Down Expand Up @@ -51,7 +98,6 @@ public async void UninstallPackageAsyncTests()
{
DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
adbClient.Commands["shell:pm uninstall com.example"] = "Success";

DeviceData device = new()
Expand All @@ -60,9 +106,8 @@ public async void UninstallPackageAsyncTests()
};
await adbClient.UninstallPackageAsync(device, "com.example");

Assert.Equal(2, adbClient.ReceivedCommands.Count);
Assert.Equal("shell:pm list packages -f", adbClient.ReceivedCommands[0]);
Assert.Equal("shell:pm uninstall com.example", adbClient.ReceivedCommands[1]);
Assert.Single(adbClient.ReceivedCommands);
Assert.Equal("shell:pm uninstall com.example", adbClient.ReceivedCommands[0]);
}

[Theory]
Expand Down Expand Up @@ -296,7 +341,6 @@ public async void GetPackageVersionAsyncTest(string command, int versionCode, st
{
DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
adbClient.Commands[$"shell:dumpsys package {packageName}"] = command;

DeviceData device = new()
Expand All @@ -308,9 +352,8 @@ public async void GetPackageVersionAsyncTest(string command, int versionCode, st
Assert.Equal(versionCode, version.VersionCode);
Assert.Equal(versionName, version.VersionName);

Assert.Equal(2, adbClient.ReceivedCommands.Count);
Assert.Equal("shell:pm list packages -f", adbClient.ReceivedCommands[0]);
Assert.Equal($"shell:dumpsys package {packageName}", adbClient.ReceivedCommands[1]);
Assert.Single(adbClient.ReceivedCommands);
Assert.Equal($"shell:dumpsys package {packageName}", adbClient.ReceivedCommands[0]);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,59 @@ namespace AdvancedSharpAdbClient.DeviceCommands.Tests
/// </summary>
public partial class DeviceExtensionsTests
{
protected static DeviceData Device { get; } = new()
{
Serial = "169.254.109.177:5555",
State = DeviceState.Online
};

/// <summary>
/// Tests the <see cref="DeviceExtensions.ClearInput(IAdbClient, DeviceData, int)"/> method.
/// </summary>
[Fact]
public void ClearInputTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_MOVE_END"] = string.Empty;
client.Commands["shell:input keyevent KEYCODE_DEL KEYCODE_DEL KEYCODE_DEL"] = string.Empty;

client.ClearInput(Device, 3);

Assert.Equal(2, client.ReceivedCommands.Count);
Assert.Equal("shell:input keyevent KEYCODE_MOVE_END", client.ReceivedCommands[0]);
Assert.Equal("shell:input keyevent KEYCODE_DEL KEYCODE_DEL KEYCODE_DEL", client.ReceivedCommands[1]);
}

/// <summary>
/// Tests the <see cref="DeviceExtensions.ClickBackButton(IAdbClient, DeviceData)"/> method.
/// </summary>
[Fact]
public void ClickBackButtonTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_BACK"] = string.Empty;

client.ClickBackButton(Device);

Assert.Single(client.ReceivedCommands);
Assert.Equal("shell:input keyevent KEYCODE_BACK", client.ReceivedCommands[0]);
}

/// <summary>
/// Tests the <see cref="DeviceExtensions.ClickHomeButton(IAdbClient, DeviceData)"/> method.
/// </summary>
[Fact]
public void ClickHomeButtonTest()
{
DummyAdbClient client = new();
client.Commands["shell:input keyevent KEYCODE_HOME"] = string.Empty;

client.ClickHomeButton(Device);

Assert.Single(client.ReceivedCommands);
Assert.Equal("shell:input keyevent KEYCODE_HOME", client.ReceivedCommands[0]);
}

[Fact]
public void StatTest()
{
Expand All @@ -19,15 +72,13 @@ public void StatTest()
ISyncService mock = Substitute.For<ISyncService>();
mock.Stat("/test").Returns(stats);

DeviceData device = new();

Factories.SyncServiceFactory = (c, d) =>
{
Factories.Reset();
return mock;
};

Assert.Equal(stats, client.Stat(device, "/test"));
Assert.Equal(stats, client.Stat(Device, "/test"));
}

[Fact]
Expand All @@ -37,9 +88,7 @@ public void GetEnvironmentVariablesTest()

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

DeviceData device = new();

Dictionary<string, string> variables = adbClient.GetEnvironmentVariables(device);
Dictionary<string, string> variables = adbClient.GetEnvironmentVariables(Device);
Assert.NotNull(variables);
Assert.Single(variables.Keys);
Assert.True(variables.ContainsKey("a"));
Expand All @@ -51,18 +100,12 @@ public void UninstallPackageTests()
{
DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
adbClient.Commands["shell:pm uninstall com.example"] = "Success";

DeviceData device = new()
{
State = DeviceState.Online
};
adbClient.UninstallPackage(device, "com.example");
adbClient.UninstallPackage(Device, "com.example");

Assert.Equal(2, adbClient.ReceivedCommands.Count);
Assert.Equal("shell:pm list packages -f", adbClient.ReceivedCommands[0]);
Assert.Equal("shell:pm uninstall com.example", adbClient.ReceivedCommands[1]);
Assert.Single(adbClient.ReceivedCommands);
Assert.Equal("shell:pm uninstall com.example", adbClient.ReceivedCommands[0]);
}

[Theory]
Expand Down Expand Up @@ -296,21 +339,15 @@ public void GetPackageVersionTest(string command, int versionCode, string versio
{
DummyAdbClient adbClient = new();

adbClient.Commands["shell:pm list packages -f"] = "package:/system/app/Gallery2/Gallery2.apk=com.android.gallery3d";
adbClient.Commands[$"shell:dumpsys package {packageName}"] = command;

DeviceData device = new()
{
State = DeviceState.Online
};
VersionInfo version = adbClient.GetPackageVersion(device, packageName);
VersionInfo version = adbClient.GetPackageVersion(Device, packageName);

Assert.Equal(versionCode, version.VersionCode);
Assert.Equal(versionName, version.VersionName);

Assert.Equal(2, adbClient.ReceivedCommands.Count);
Assert.Equal("shell:pm list packages -f", adbClient.ReceivedCommands[0]);
Assert.Equal($"shell:dumpsys package {packageName}", adbClient.ReceivedCommands[1]);
Assert.Single(adbClient.ReceivedCommands);
Assert.Equal($"shell:dumpsys package {packageName}", adbClient.ReceivedCommands[0]);
}

[Fact]
Expand Down Expand Up @@ -342,8 +379,7 @@ public void ListProcessesTest()

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";

DeviceData device = new();
AndroidProcess[] processes = adbClient.ListProcesses(device).ToArray();
AndroidProcess[] processes = adbClient.ListProcesses(Device).ToArray();

Assert.Equal(3, processes.Length);
Assert.Equal("init", processes[0].Name);
Expand Down
4 changes: 2 additions & 2 deletions AdvancedSharpAdbClient.Tests/DeviceCommands/LinuxPathTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ public void CombineTest()
[Fact]
public void CombineCurrentDirTest()
{
string result = LinuxPath.Combine(".", "test.txt");
Assert.Equal("./test.txt", result);
string result = LinuxPath.Combine(".", "Test.txt");
Assert.Equal("./Test.txt", result);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using System;
using Xunit;

namespace AdvancedSharpAdbClient.Models.DeviceCommands.Tests
namespace AdvancedSharpAdbClient.DeviceCommands.Models.Tests
{
/// <summary>
/// Tests the <see cref="AndroidProcess"/> class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Xunit;

namespace AdvancedSharpAdbClient.Models.DeviceCommands.Tests
namespace AdvancedSharpAdbClient.DeviceCommands.Models.Tests
{
/// <summary>
/// Tests the <see cref="VersionInfo"/> class.
Expand Down
Loading