Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        [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);
        }
Esempio n. 3
0
        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);
        }