public void ConstructSmartMeterPayloadTest() { // Arrange const string source = "01C6070A90AE200680/KMP5 KA6U001661160612 0-0:96.1.1(204B413655303031363631313630363132) 1-0:1.8.1(00118.701*kWh) 1-0:1.8.2(00010.000*kWh) 1-0:2.8.1(00200.100*kWh) 1-0:2.8.2(00000.050*kWh) 0-0:96.14.0(0001) 1-0:1.7.0(0000.11*kW) 1-0:2.7.0(0000.00*kW) 0-0:17.0.0(999*A) 0-0:96.3.10(1) 0-0:96.13.1() 0-0:96.13.0() !"; // Act var actual = _sut.Parse(source); // Assert Assert.IsNotNull(actual); var model = (actual as MiniParseResult).Model as MiniParseModel; Assert.IsNotNull(model); Assert.AreEqual(4, model.Payloads.Count); var counters = model.Payloads.Cast <CounterPayload>().ToList(); Assert.AreEqual((ulong)118701, counters[0].Value); Assert.AreEqual((ulong)10000, counters[1].Value); Assert.AreEqual((ulong)200100, counters[2].Value); Assert.AreEqual((ulong)50, counters[3].Value); }
[InlineData("2F100718D9A3C41E00", MiniState.Operational)] // Qbox van R. public void Parse(string message, MiniState miniState) { // Arrange var protocolReader = new ProtocolReader(_protocolReaderLoggerMock.Object, message.AsMemory()); var protocolReaderFactoryMock = new Mock <IProtocolReaderFactory>(); protocolReaderFactoryMock.Setup(pr => pr.Create(It.IsAny <ReadOnlyMemory <char> >())).Returns(protocolReader); var smartMeterCounterParser = new SmartMeterCounterParser(_smartMeterLoggerMock.Object, _validators); var sut = new MiniR07(_miniLoggerMock.Object, protocolReaderFactoryMock.Object, smartMeterCounterParser); // Act var result = (MiniParseResult)sut.Parse(message); // Assert result.Model.Status.Status.Should().Be(miniState); }
public void ParseHexStringProtocolShouldReturnParseResultTest() { // Arrange const string source = "01C6070A90AE200680/KMP5 KA6U001661160612 0-0:96.1.1(204B413655303031363631313630363132) 1-0:1.8.1(00118.701*kWh) 1-0:1.8.2(00000.000*kWh) 1-0:2.8.1(00000.000*kWh) 1-0:2.8.2(00000.000*kWh) 0-0:96.14.0(0001) 1-0:1.7.0(0000.11*kW) 1-0:2.7.0(0000.00*kW) 0-0:17.0.0(999*A) 0-0:96.3.10(1) 0-0:96.13.1() 0-0:96.13.0() !"; //UnitOfWorkHelper.CurrentDataStore = new ThreadContextDataStore(); //UnitOfWorkHelper.CurrentDataStore[DataStoreName.cLogger] = QboxLogger.GetConsoleLogger("test"); // Act var actual = _sut.Parse(source); // Assert Assert.IsNotNull(actual); }