private void TestModeForInvokeReceive(XModemMode mode) { RunTestForInvokeReceive(_randomDataGenerator.GetRandomData(128), mode); RunTestForInvokeReceive(_randomDataGenerator.GetRandomData(130), mode); RunTestForInvokeReceive(_randomDataGenerator.GetRandomData(10000), mode); RunTestForInvokeReceive(_randomDataGenerator.GetRandomData(10240), mode); }
/// <summary> /// Get the tools needed for a mode. /// </summary> /// <param name="mode">The mode for which tools are requested.</param> /// <returns>The tools.</returns> public IXModemTools GetToolsFor(XModemMode mode) { switch (mode) { case XModemMode.Checksum: return(_checksumTool); case XModemMode.CRC: return(_CRCTool); case XModemMode.OneK: return(_oneKTool); default: string message = "A mode has been added without a" + " corresponding toolset being created."; throw new System.ArgumentOutOfRangeException(message); } }
private void RunTestForInvokeReceive(IEnumerable <byte> data, XModemMode mode) { var communicator = new ComSendCollection(); IInvoker invoker = new InvokeReceive(); IFinalizer finalizer = new FinalizeReceive(); IContext context = new Context { Mode = mode, Communicator = communicator, }; var packets = context.Tools.Builder.GetPackets(data, context.Options); packets.Add(new List <byte> { context.Options.EOT }); communicator.CollectionToSend = packets; invoker.Invoke(context); finalizer.Finalize(context); Assert.AreEqual(data, context.Data); Assert.AreEqual(packets.GetRange(0, packets.Count - 1), context.Packets); }
internal ModeUpdatedEventArgs(XModemMode mode, XModemMode oldMode) { Mode = mode; OldMode = oldMode; }