Files
Aaru/Aaru.Tests/Devices/MultiMediaCard/CID.cs

81 lines
2.2 KiB
C#
Raw Normal View History

using Aaru.Helpers;
2021-02-28 14:53:32 +00:00
using FluentAssertions.Execution;
using NUnit.Framework;
// ReSharper disable InconsistentNaming
2022-03-06 13:29:38 +00:00
namespace Aaru.Tests.Devices.MultiMediaCard;
[TestFixture]
public class CID
{
2022-03-06 13:29:38 +00:00
readonly string[] cards =
{
2022-03-06 13:29:38 +00:00
"mmc_6600_32mb", "mmc_pretec_32mb", "mmc_takems_256mb"
};
2022-03-06 13:29:38 +00:00
readonly string[] cids =
{
"15000030303030303007b20212909701", "06000033324d202020011923a457c601", "2c0000414620484d5010a9000b1a6801"
};
2022-03-06 13:29:38 +00:00
readonly byte[] manufacturers =
{
0x15, 0x06, 0x2c
};
2022-03-06 13:29:38 +00:00
readonly ushort[] applications =
{
0, 0, 0
};
2022-03-06 13:29:38 +00:00
readonly string[] names =
{
"000000", "32M ", "AF HMP"
};
2022-03-06 13:29:38 +00:00
readonly byte[] revisions =
{
0x07, 0x01, 0x10
};
2022-03-06 13:29:38 +00:00
readonly uint[] serials =
{
0xb2021290, 0x1923a457, 0xa9000b1a
};
2022-03-06 13:29:38 +00:00
readonly byte[] dates =
{
0x97, 0xc6, 0x68
};
2022-03-06 13:29:38 +00:00
readonly byte[] crcs =
{
0x00, 0x00, 0x00
};
2022-03-06 13:29:38 +00:00
[Test]
public void Test()
{
for(int i = 0; i < cards.Length; i++)
{
2022-03-06 13:29:38 +00:00
using(new AssertionScope())
{
2022-03-06 13:29:38 +00:00
Assert.Multiple(() =>
2021-02-28 14:53:32 +00:00
{
2022-03-06 13:29:38 +00:00
int count = Marshal.ConvertFromHexAscii(cids[i], out byte[] response);
Assert.AreEqual(16, count, $"Size - {cards[i]}");
Decoders.MMC.CID cid = Decoders.MMC.Decoders.DecodeCID(response);
Assert.IsNotNull(cid, $"Decoded - {cards[i]}");
Assert.AreEqual(manufacturers[i], cid.Manufacturer, $"Manufacturer - {cards[i]}");
Assert.AreEqual(applications[i], cid.ApplicationID, $"Application ID - {cards[i]}");
Assert.AreEqual(names[i], cid.ProductName, $"Product name - {cards[i]}");
Assert.AreEqual(revisions[i], cid.ProductRevision, $"Product revision - {cards[i]}");
Assert.AreEqual(serials[i], cid.ProductSerialNumber, $"Serial number - {cards[i]}");
Assert.AreEqual(dates[i], cid.ManufacturingDate, $"Manufacturing date - {cards[i]}");
Assert.AreEqual(crcs[i], cid.CRC, $"CRC - {cards[i]}");
});
}
}
}
}