public async Task FirmwareAsyncTest() { var tests = new[] { new { Payload = "010001000100", Node = new NodeFirmwareInfoMapping { NodeId = string.Empty, Type = 1, Version = 1 }, Expected = "0100010001000C946E000C946E000C946E000C946E00" }, new { Payload = "0B0001000100", Node = new NodeFirmwareInfoMapping { NodeId = string.Empty, Type = 11, Version = 1 }, Expected = "0B000100010052C1000050C10000EEC200004CC10000" } }; foreach (var test in tests) { var logger = new Mock <ILogger <ExposedFirmwareDAO> >().Object; var opts = Options.Create(new SharedOpts { Resources = new List <NodeFirmwareInfoMapping> { test.Node }, FirmwareBasePath = Const.TestFilesBasePath, }); var dao = new ExposedFirmwareDAO(logger, opts); var actual = await dao.FirmwareAsync(string.Empty, test.Payload); Assert.AreEqual(test.Expected, actual); } }
public async Task LoadFromFileContentAsyncTest() { var tests = new[] { new { Type = 1, Blocks = 80, Path = $"{Const.TestFilesBasePath}/1/1/firmware.encoded" }, new { Type = 11, Blocks = 1072, Path = $"{Const.TestFilesBasePath}/11/1/firmware.encoded" } }; foreach (var test in tests) { var logger = new Mock <ILogger <ExposedFirmwareDAO> >().Object; var opts = Options.Create(new SharedOpts { FirmwareBasePath = Const.TestFilesBasePath, }); var dao = new ExposedFirmwareDAO(logger, opts); var lines = await File.ReadAllLinesAsync(test.Path); foreach (var blockNo in Enumerable.Range(0, test.Blocks)) { var lineNo = test.Blocks - blockNo - 1; var payload = dao.PackTest(new FirmwareReqResp { Type = (ushort)test.Type, Version = 1, Block = (ushort)blockNo, }); var actual = await dao.FirmwareAsync(string.Empty, payload); var expected = lines[lineNo]; Assert.AreEqual(expected, actual, $"Type: {test.Type}, Line: {lineNo}, Block: {blockNo}"); } } }