using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using Edge.Core.Processor; using Edge.Core.IndustryStandardInterface.Pump; using System.Threading; using Wayne.FDCPOSLibrary; using Mocks; using System.Threading.Tasks; using System.Collections.Generic; using System.Linq; using Microsoft.Extensions.DependencyInjection; using Censtar_31064V105OrV106_Pump.MessageEntity; using Censtar_31064V105OrV106_Pump; using static Censtar_31064V105OrV106_Pump.PumpGroupHandler.DispenserParameter; using Edge.Core.Parser.BinaryParser.MessageEntity; namespace Censtar_31064V105OrV106_Pump_Test { [TestClass] public class FdcPumpControllerUnitTest { private HalfDuplexActivePollingDeviceProcessor processor; private ComPortCommunicatorMock mockCommunicator; private IFdcPumpController fdcPumpController; [TestInitialize()] public void InitProcessor() { var services = new ServiceCollection(); services.AddLogging(); this.mockCommunicator = new ComPortCommunicatorMock(); mockCommunicator.OnRawDataWriting += (s, a) => { }; this.processor = new HalfDuplexActivePollingDeviceProcessor( new PumpGroupHandler(new PumpGroupHandler.DispenserParameter() { DispenserAuthorizeMode = PumpGroupHandler.DispenserAuthorizeModeEnum.监控, DispenserModel = PumpGroupHandler.DispenserModelEnum.Model_31064V105, DispenserPostFuelingLockMode = Censtar_31064V105OrV106_Pump.MessageEntity.Outgoing.SetPostFuelingLockTypeRequest.LockTypeEnum.加油后不加锁, PumpParameters = new List() { new PumpParameter() { PumpId=1, NozzleParameters = new List() { new NozzleParameter(){ NozzleNumber = 1}, new NozzleParameter(){ NozzleNumber =2} } } } }, services.BuildServiceProvider()), mockCommunicator, 100, null); this.fdcPumpController = processor.Context.Handler as IFdcPumpController; } } }