Example #1
0
        public void GetCharginSessions_OneChargingSession()
        {
            // Arrange
            var timeline = new MessageTimeline(new ICanBusMessage[]
            {
                new BatteryPowerMessage(_batteryPower),
                new TimestampMessageBuilder(new DateTime(2019, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Build(),
                new BatteryInfoMessage(_chargingStarted),
                new BatteryPowerMessage(_batteryPower),
                new StateOfChargeMessage(_stateOfCharge),
                new BatteryPowerMessage(_batteryPower),
                new BatteryInfoMessage(_chargingStopped),
                new TimestampMessageBuilder(new DateTime(2019, 1, 1, 0, 0, 1, DateTimeKind.Utc)).Build(),
            });

            // Act
            var sessions = new ChargingSessionFilter().GetChargingSessions(timeline).ToList();

            // Assert
            sessions.Count.Should().Be(1);
            sessions[0].Select(m => m.Value.GetType()).Should().BeEquivalentTo(
                typeof(BatteryInfoMessage),
                typeof(BatteryPowerMessage),
                typeof(StateOfChargeMessage),
                typeof(BatteryPowerMessage));
        }
Example #2
0
        public void GetCharginSessions_NoChargingSession()
        {
            // Arrange
            var timeline = new MessageTimeline(new ICanBusMessage[]
            {
                new BatteryPowerMessage(_batteryPower),
                new TimestampMessageBuilder(new DateTime(2019, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Build(),
                new BatteryPowerMessage(_batteryPower),
                new StateOfChargeMessage(_stateOfCharge),
                new BatteryPowerMessage(_batteryPower),
                new TimestampMessageBuilder(new DateTime(2019, 1, 1, 0, 0, 1, DateTimeKind.Utc)).Build(),
            });

            // Act
            var sessions = new ChargingSessionFilter().GetChargingSessions(timeline);

            // Assert
            sessions.Should().BeEmpty();
        }