FdcPumpControllerUnitTest.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using Edge.Core.Processor;
  4. using Edge.Core.IndustryStandardInterface.Pump;
  5. using System.Threading;
  6. using Wayne.FDCPOSLibrary;
  7. using Mocks;
  8. using System.Threading.Tasks;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using Microsoft.Extensions.DependencyInjection;
  12. using Censtar_31064V105OrV106_Pump.MessageEntity;
  13. using Censtar_31064V105OrV106_Pump;
  14. using static Censtar_31064V105OrV106_Pump.PumpGroupHandler.DispenserParameter;
  15. using Edge.Core.Parser.BinaryParser.MessageEntity;
  16. namespace Censtar_31064V105OrV106_Pump_Test
  17. {
  18. [TestClass]
  19. public class FdcPumpControllerUnitTest
  20. {
  21. private HalfDuplexActivePollingDeviceProcessor<byte[], MessageTemplateBase> processor;
  22. private ComPortCommunicatorMock<MessageTemplateBase> mockCommunicator;
  23. private IFdcPumpController fdcPumpController;
  24. [TestInitialize()]
  25. public void InitProcessor()
  26. {
  27. var services = new ServiceCollection();
  28. services.AddLogging();
  29. this.mockCommunicator = new ComPortCommunicatorMock<MessageTemplateBase>();
  30. mockCommunicator.OnRawDataWriting += (s, a) => { };
  31. this.processor = new HalfDuplexActivePollingDeviceProcessor<byte[], MessageTemplateBase>(
  32. new PumpGroupHandler(new PumpGroupHandler.DispenserParameter()
  33. {
  34. DispenserAuthorizeMode = PumpGroupHandler.DispenserAuthorizeModeEnum.监控,
  35. DispenserModel = PumpGroupHandler.DispenserModelEnum.Model_31064V105,
  36. DispenserPostFuelingLockMode = Censtar_31064V105OrV106_Pump.MessageEntity.Outgoing.SetPostFuelingLockTypeRequest.LockTypeEnum.加油后不加锁,
  37. PumpParameters = new List<PumpParameter>()
  38. {
  39. new PumpParameter()
  40. {
  41. PumpId=1,
  42. NozzleParameters = new List<NozzleParameter>()
  43. {
  44. new NozzleParameter(){ NozzleNumber = 1},
  45. new NozzleParameter(){ NozzleNumber =2}
  46. }
  47. }
  48. }
  49. }, services.BuildServiceProvider()),
  50. mockCommunicator, 100, null);
  51. this.fdcPumpController = processor.Context.Handler as IFdcPumpController;
  52. }
  53. }
  54. }