Exemple #1
0
        public void Test()
        {
            for (int i = 0; i < cards.Length; i++)
            {
                using (new AssertionScope())
                {
                    Assert.Multiple(() =>
                    {
                        int count = Marshal.ConvertFromHexAscii(scrs[i], out byte[] response);
                        Assert.AreEqual(8, count, $"Size - {cards[i]}");
                        Decoders.SecureDigital.SCR scr = Decoders.SecureDigital.Decoders.DecodeSCR(response);
                        Assert.IsNotNull(scr, $"Decoded - {cards[i]}");
                        Assert.AreEqual(structure_version[i], scr.Structure, $"Version - {cards[i]}");
                        Assert.AreEqual(specification_version[i], scr.Spec, $"Specification version - {cards[i]}");

                        Assert.AreEqual(data_stat_after_erase[i], scr.DataStatusAfterErase,
                                        $"Data stat after erase - {cards[i]}");

                        Assert.AreEqual(sd_security[i], scr.Security, $"Security - {cards[i]}");
                        Assert.AreEqual((BusWidth)sd_bus_widths[i], scr.BusWidth, $"Bus widths - {cards[i]}");
                        Assert.AreEqual(sd_spec3[i], scr.Spec3, $"Spec 3 - {cards[i]}");
                        Assert.AreEqual(ex_security[i], scr.ExtendedSecurity, $"Extended security - {cards[i]}");
                        Assert.AreEqual(sd_spec4[i], scr.Spec4, $"Spec 4 - {cards[i]}");
                        Assert.AreEqual(sd_specx[i], scr.SpecX, $"Spec X - {cards[i]}");

                        Assert.AreEqual((CommandSupport)cmd_support[i], scr.CommandSupport,
                                        $"Command support - {cards[i]}");

                        Assert.AreEqual(mfg[i], scr.ManufacturerReserved, $"Manufacturer reserved - {cards[i]}");
                    });
                }
            }
        }
Exemple #2
0
        public void Test()
        {
            for (int i = 0; i < cards.Length; i++)
            {
                int count = Marshal.ConvertFromHexAscii(csds[i], out byte[] response);
                Assert.AreEqual(16, count, $"Size - {cards[i]}");
                Decoders.SecureDigital.CSD csd = Decoders.SecureDigital.Decoders.DecodeCSD(response);
                Assert.IsNotNull(csd, $"Decoded - {cards[i]}");
                Assert.AreEqual(structure_versions[i], csd.Structure, $"Version - {cards[i]}");
                Assert.AreEqual(taacs[i], csd.TAAC, $"TAAC - {cards[i]}");
                Assert.AreEqual(nsacs[i], csd.NSAC, $"NSAC - {cards[i]}");
                Assert.AreEqual(speeds[i], csd.Speed, $"Transfer speed - {cards[i]}");
                Assert.AreEqual(classes[i], csd.Classes, $"Classes - {cards[i]}");
                Assert.AreEqual(read_block_lengths[i], csd.ReadBlockLength, $"Read block length - {cards[i]}");
                Assert.AreEqual(read_partial_blocks[i], csd.ReadsPartialBlocks, $"Reads partial blocks - {cards[i]}");

                Assert.AreEqual(write_misaligned_block[i], csd.WriteMisalignment,
                                $"Writes misaligned blocks - {cards[i]}");

                Assert.AreEqual(read_misaligned_block[i], csd.ReadMisalignment,
                                $"Reads misaligned blocks - {cards[i]}");

                Assert.AreEqual(dsr_implemented[i], csd.DSRImplemented, $"DSR implemented - {cards[i]}");
                Assert.AreEqual(card_sizes[i], csd.Size, $"Card size - {cards[i]}");

                Assert.AreEqual(min_read_current[i], csd.ReadCurrentAtVddMin,
                                $"Reading current at minimum Vdd - {cards[i]}");

                Assert.AreEqual(max_read_current[i], csd.ReadCurrentAtVddMax,
                                $"Reading current at maximum Vdd - {cards[i]}");

                Assert.AreEqual(min_write_current[i], csd.WriteCurrentAtVddMin,
                                $"Writing current at minimum Vdd - {cards[i]}");

                Assert.AreEqual(max_write_current[i], csd.WriteCurrentAtVddMax,
                                $"Writing current at maximum Vdd - {cards[i]}");

                Assert.AreEqual(size_multiplier[i], csd.SizeMultiplier, $"Card size multiplier - {cards[i]}");
                Assert.AreEqual(erase_block_enable[i], csd.EraseBlockEnable, $"Erase block enable - {cards[i]}");
                Assert.AreEqual(erase_sector_sizes[i], csd.EraseSectorSize, $"Erase sector size - {cards[i]}");

                Assert.AreEqual(write_protect_group_size[i], csd.WriteProtectGroupSize,
                                $"Write protect group size - {cards[i]}");

                Assert.AreEqual(write_protect_group_enable[i], csd.WriteProtectGroupEnable,
                                $"Write protect group enable - {cards[i]}");

                Assert.AreEqual(r2w_factors[i], csd.WriteSpeedFactor, $"Read to write factor - {cards[i]}");
                Assert.AreEqual(file_format_group[i], csd.FileFormatGroup, $"File format group - {cards[i]}");
                Assert.AreEqual(copy[i], csd.Copy, $"Copy - {cards[i]}");

                Assert.AreEqual(permanent_write_protect[i], csd.PermanentWriteProtect,
                                $"Permanent write protect - {cards[i]}");

                Assert.AreEqual(temporary_write_protect[i], csd.TemporaryWriteProtect,
                                $"Temporary write protect - {cards[i]}");

                Assert.AreEqual(file_format[i], csd.FileFormat, $"File format - {cards[i]}");
            }
        }
Exemple #3
0
 public void Test()
 {
     for (int i = 0; i < cards.Length; i++)
     {
         int count = Marshal.ConvertFromHexAscii(cids[i], out byte[] response);
         Assert.AreEqual(16, count, $"Size - {cards[i]}");
         Decoders.SecureDigital.CID cid = Decoders.SecureDigital.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]}");
     }
 }