Skip to content

Commit

Permalink
Improve the output of ToString
Browse files Browse the repository at this point in the history
  • Loading branch information
wherewhere committed Feb 14, 2024
1 parent 7268203 commit 9c3bfb2
Show file tree
Hide file tree
Showing 16 changed files with 500 additions and 244 deletions.
96 changes: 53 additions & 43 deletions AdvancedSharpAdbClient.Tests/Models/DeviceDataTests.cs
Expand Up @@ -11,7 +11,7 @@ public class DeviceDataTests
[Fact]
public void CreateFromDeviceDataVSEmulatorTest()
{
string data = @"169.254.138.177:5555 offline product:VS Emulator Android Device - 480 x 800 model:Android_Device___480_x_800 device:donatello";
string data = "169.254.138.177:5555 offline product:VS Emulator Android Device - 480 x 800 model:Android_Device___480_x_800 device:donatello";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("169.254.138.177:5555", device.Serial);
Expand All @@ -25,7 +25,7 @@ public void CreateFromDeviceDataVSEmulatorTest()
[Fact]
public void CreateFromDeviceNoPermissionTest()
{
string data = "009d1cd696d5194a no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html";
string data = "009d1cd696d5194a no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("009d1cd696d5194a", device.Serial);
Expand All @@ -34,15 +34,15 @@ public void CreateFromDeviceNoPermissionTest()
Assert.Equal(string.Empty, device.Name);
Assert.Equal(string.Empty, device.Features);
Assert.Equal(DeviceState.NoPermissions, device.State);
Assert.Equal(" (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html", device.Message);
Assert.Equal("(user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]", device.Message);
Assert.Equal(string.Empty, device.Usb);
Assert.Equal(string.Empty, device.TransportId);
}

[Fact]
public void CreateFromDeviceDataAuthorizingTest()
{
string data = "52O00ULA01 authorizing usb:9-1.4.1 transport_id:8149";
string data = "52O00ULA01 authorizing usb:9-1.4.1 transport_id:8149";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("52O00ULA01", device.Serial);
Expand All @@ -58,7 +58,7 @@ public void CreateFromDeviceDataAuthorizingTest()
[Fact]
public void CreateFromDeviceDataUnauthorizedTest()
{
string data = "R32D102SZAE unauthorized";
string data = "R32D102SZAE unauthorized";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("R32D102SZAE", device.Serial);
Expand All @@ -72,7 +72,7 @@ public void CreateFromDeviceDataUnauthorizedTest()
[Fact]
public void CreateFromEmulatorTest()
{
string data = "emulator-5586 host features:shell_2";
string data = "emulator-5586 host features:shell_2";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("emulator-5586", device.Serial);
Expand Down Expand Up @@ -100,7 +100,7 @@ public void CreateWithFeaturesTest()
public void CreateWithUsbDataTest()
{
// As seen on Linux
string data = "EAOKCY112414 device usb:1-1 product:WW_K013 model:K013 device:K013_1";
string data = "EAOKCY112414 device usb:1-1 product:WW_K013 model:K013 device:K013_1";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("EAOKCY112414", device.Serial);
Expand All @@ -116,7 +116,7 @@ public void CreateWithoutModelTest()
{
// As seen for devices in recovery mode
// See https://github.com/quamotion/madb/pull/85/files
string data = "ZY3222LBDC recovery usb:337641472X product:omni_cedric device:cedric";
string data = "ZY3222LBDC recovery usb:337641472X product:omni_cedric device:cedric";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("ZY3222LBDC", device.Serial);
Expand All @@ -130,7 +130,7 @@ public void CreateWithoutModelTest()
[Fact]
public void CreateNoPermissionTest()
{
string data = "009d1cd696d5194a no permissions";
string data = "009d1cd696d5194a no permissions";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("009d1cd696d5194a", device.Serial);
Expand All @@ -140,7 +140,7 @@ public void CreateNoPermissionTest()
[Fact]
public void CreateWithUnderscoresTest()
{
string data = "99000000 device product:if_s200n model:NL_V100KR device:if_s200n";
string data = "99000000 device product:if_s200n model:NL_V100KR device:if_s200n";

DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal("99000000", device.Serial);
Expand All @@ -149,36 +149,10 @@ public void CreateWithUnderscoresTest()
Assert.Equal("if_s200n", device.Name);
}

[Fact]
public void CreateFromInvalidDataTest()
{
string data = "xyz";

_ = Assert.Throws<ArgumentException>(() => DeviceData.CreateFromAdbData(data));
}

[Fact]
public void ToStringTest()
{
DeviceData d = new()
{
Serial = "xyz"
};

Assert.Equal("xyz", d.ToString());
}

[Fact]
public void GetStateFromStringTest()
{
Assert.Equal(DeviceState.NoPermissions, DeviceData.GetStateFromString("no permissions"));
Assert.Equal(DeviceState.Unknown, DeviceData.GetStateFromString("hello"));
}

[Theory]
[InlineData("R32D102SZAE device transport_id:6", "R32D102SZAE", "", "", "", "6")]
[InlineData("emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1", "emulator-5554", "sdk_google_phone_x86", "Android_SDK_built_for_x86", "generic_x86", "1")]
[InlineData("00bc13bcf4bacc62 device product:bullhead model:Nexus_5X device:bullhead transport_id:1", "00bc13bcf4bacc62", "bullhead", "Nexus_5X", "bullhead", "1")]
[InlineData("R32D102SZAE device transport_id:6", "R32D102SZAE", "", "", "", "6")]
[InlineData("emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1", "emulator-5554", "sdk_google_phone_x86", "Android_SDK_built_for_x86", "generic_x86", "1")]
[InlineData("00bc13bcf4bacc62 device product:bullhead model:Nexus_5X device:bullhead transport_id:1", "00bc13bcf4bacc62", "bullhead", "Nexus_5X", "bullhead", "1")]
public void CreateFromDeviceDataTransportIdTest(string data, string serial, string product, string model, string name, string transportId)
{
DeviceData device = DeviceData.CreateFromAdbData(data);
Expand All @@ -202,14 +176,50 @@ public void CreateFromDeviceDataConnectingTest()
Assert.Equal(string.Empty, device.Model);
Assert.Equal(string.Empty, device.Name);
Assert.Equal(string.Empty, device.TransportId);
Assert.Equal(DeviceState.Unknown, device.State);
Assert.Equal(DeviceState.Connecting, device.State);
Assert.Equal(string.Empty, device.Usb);
}

[Fact]
public void CreateFromInvalidDataTest()
{
string data = "xyz";

_ = Assert.Throws<ArgumentException>(() => DeviceData.CreateFromAdbData(data));
}

[Theory]
[InlineData("169.254.138.177:5555\toffline product:VS Emulator Android Device - 480 x 800 model:Android_Device___480_x_800 device:donatello")]
[InlineData("009d1cd696d5194a\tno permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]")]
[InlineData("52O00ULA01\tauthorizing usb:9-1.4.1 transport_id:8149")]
[InlineData("R32D102SZAE\tunauthorized")]
[InlineData("emulator-5586\thost features:shell_2")]
[InlineData("0100a9ee51a18f2b\tdevice product:bullhead model:Nexus_5X device:bullhead features:shell_v2,cmd")]
[InlineData("EAOKCY112414\tdevice usb:1-1 product:WW_K013 model:K013 device:K013_1")]
[InlineData("ZY3222LBDC\trecovery usb:337641472X product:omni_cedric device:cedric")]
[InlineData("009d1cd696d5194a\tno permissions")]
[InlineData("99000000\tdevice product:if_s200n model:NL_V100KR device:if_s200n")]
[InlineData("R32D102SZAE\tdevice transport_id:6")]
[InlineData("emulator-5554\tdevice product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1")]
[InlineData("00bc13bcf4bacc62\tdevice product:bullhead model:Nexus_5X device:bullhead transport_id:1")]
[InlineData("00bc13bcf4bacc62\tconnecting")]
public void ToStringTest(string data)
{
DeviceData device = DeviceData.CreateFromAdbData(data);
Assert.Equal(data, device.ToString());
}

[Fact]
public void GetStateFromStringTest()
{
Assert.Equal(DeviceState.NoPermissions, DeviceData.GetStateFromString("no permissions"));
Assert.Equal(DeviceState.Unknown, DeviceData.GetStateFromString("hello"));
}

[Theory]
[InlineData("R32D102SZAE device transport_id:6", "R32D102SZAE", "", "", "", "6")]
[InlineData("emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1", "emulator-5554", "sdk_google_phone_x86", "Android_SDK_built_for_x86", "generic_x86", "1")]
[InlineData("00bc13bcf4bacc62 device product:bullhead model:Nexus_5X device:bullhead transport_id:1", "00bc13bcf4bacc62", "bullhead", "Nexus_5X", "bullhead", "1")]
[InlineData("R32D102SZAE device transport_id:6", "R32D102SZAE", "", "", "", "6")]
[InlineData("emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:1", "emulator-5554", "sdk_google_phone_x86", "Android_SDK_built_for_x86", "generic_x86", "1")]
[InlineData("00bc13bcf4bacc62 device product:bullhead model:Nexus_5X device:bullhead transport_id:1", "00bc13bcf4bacc62", "bullhead", "Nexus_5X", "bullhead", "1")]
public void EqualityTest(string data, string serial, string product, string model, string name, string transportId)
{
DeviceData d1 = DeviceData.CreateFromAdbData(data);
Expand Down

0 comments on commit 9c3bfb2

Please sign in to comment.