public void Send(VehiclePlot vehiclePlot) { var vehiclePlotDto = _vehiclePlotMapper.ToDto(vehiclePlot); var vehiclePlotMessageBody = _vehiclePlotSerializer.Serialize(vehiclePlotDto); _messagingService.SendMessage(vehiclePlotMessageBody); }
public void Should_send_vehicle_plot() { //Arrange var vehiclePlot = new VehiclePlot(1, 0, 0, DateTime.UtcNow, EventCode.IgnitionOn); var messageBody = Encoding.UTF8.GetBytes("test"); var vehiclePlotDto = new VehiclePlotDto { VehicleId = 1, Latitude = 0, Longitude = 0, Timestamp = DateTime.UtcNow, EventCode = EventCode.IgnitionOn }; _vehiclePlotMapper.Setup(x => x.ToDto(It.IsAny <VehiclePlot>())) .Returns(vehiclePlotDto); _vehiclePlotSerializer.Setup(x => x.Serialize(It.IsAny <VehiclePlotDto>())) .Returns(messageBody); var Sut = new VehiclePlotService(_messagingService.Object, _vehiclePlotMapper.Object, _vehiclePlotSerializer.Object); //Act Sut.Send(vehiclePlot); //Assert _vehiclePlotMapper.Verify(x => x.ToDto(vehiclePlot)); _vehiclePlotSerializer.Verify(x => x.Serialize(vehiclePlotDto)); _messagingService.Verify(x => x.SendMessage(messageBody)); }
public void Should_process_message() { //Arrange var messageBody = Encoding.UTF8.GetBytes("test"); var vehiclePlot = new VehiclePlot(1, 0, 0, DateTime.UtcNow, EventCode.IgnitionOn); var vehiclePlotDto = new VehiclePlotDto { VehicleId = 1 }; _vehiclePlotSerializer.Setup(x => x.Deserialize(It.IsAny <byte[]>())) .Returns(vehiclePlotDto); _vehiclePlotMapper.Setup(x => x.ToModel(It.IsAny <VehiclePlotDto>())) .Returns(vehiclePlot); _vehiclePlotService.Setup(x => x.InsertAsync(It.IsAny <VehiclePlot>())); var Sut = new MessageProcessingService(_vehiclePlotSerializer.Object, _vehiclePlotMapper.Object, _vehiclePlotService.Object, _logger.Object); //Act Sut.Process(messageBody); //Assert _vehiclePlotSerializer.Verify(x => x.Deserialize(messageBody)); _vehiclePlotMapper.Verify(x => x.ToModel(vehiclePlotDto)); _vehiclePlotService.Verify(x => x.InsertAsync(vehiclePlot)); }
public void Start(int interval, int vehicleId) { _interval = interval; _lastVehiclePlot = new VehiclePlot(vehicleId, 0, 0, DateTime.UtcNow, EventCode.IgnitionOff); _logger.LogInformation("Starting periodic send of vehicle plot."); _timer = new Timer(Tick, null, _interval, Timeout.Infinite); }
public static VehiclePlot GetNextVehiclePlot(VehiclePlot currentVehiclePlot) { var latitude = GetRandomDouble(); var longitude = GetRandomDouble(); var eventCode = GetRandomEventCode(currentVehiclePlot.EventCode); return(new VehiclePlot(currentVehiclePlot.VehicleId, latitude, longitude, DateTime.UtcNow, eventCode)); }
public VehiclePlotDto ToDto(VehiclePlot vehiclePlot) { return(new VehiclePlotDto { VehicleId = vehiclePlot.VehicleId, Latitude = vehiclePlot.Latitude, Longitude = vehiclePlot.Longitude, Timestamp = vehiclePlot.Timestamp, EventCode = vehiclePlot.EventCode }); }
public VehiclePlotDto ToDto(VehiclePlot vehiclePlot) { var definition = JsonConvert.SerializeObject(vehiclePlot, _jsonSerializerSettings); return(new VehiclePlotDto { Id = vehiclePlot.VehicleId, Definition = definition, Score = vehiclePlot.Timestamp.ToOADate() }); }
public void Should_convert_vehicle_plot_to_dto(int vehicleId, double latitude, double longitude, EventCode eventCode) { //Arrange var vehiclePlot = new VehiclePlot(vehicleId, latitude, longitude, DateTime.UtcNow, eventCode); var expectedDefinition = JsonConvert.SerializeObject(vehiclePlot, _jsonSerializerSettings); //Act var vehiclePlotDto = Sut.ToDto(vehiclePlot); //Assert vehiclePlotDto.Id.Should().Be(vehiclePlot.VehicleId); vehiclePlotDto.Score.Should().Be(vehiclePlot.Timestamp.ToOADate()); vehiclePlotDto.Definition.Should().Be(expectedDefinition); }
public async Task Should_insert_vehicle_plot(int vehicleId, double latitude, double longitude, EventCode eventCode) { //Arrange _vehiclePlotRepository.Setup(x => x.InsertAsync(It.IsAny <VehiclePlot>())).Returns(Task.FromResult(0)); var Sut = new VehiclePlotService(_vehiclePlotRepository.Object); var vehiclePlot = new VehiclePlot(vehicleId, latitude, longitude, DateTime.UtcNow, eventCode); //Act await Sut.InsertAsync(vehiclePlot); //Assert _vehiclePlotRepository.Verify(x => x.InsertAsync(vehiclePlot)); }
public void Should_map_vehicle_plot_to_dto(int vehicleId, double latitude, double longitude, EventCode eventCode) { //Arrange var vehiclePlot = new VehiclePlot(vehicleId, latitude, longitude, DateTime.UtcNow, eventCode); //Act var vehiclePlotDto = Sut.ToDto(vehiclePlot); //Assert vehiclePlotDto.VehicleId.Should().Be(vehiclePlot.VehicleId); vehiclePlotDto.Latitude.Should().Be(vehiclePlot.Latitude); vehiclePlotDto.Longitude.Should().Be(vehiclePlot.Longitude); vehiclePlotDto.Timestamp.Should().Be(vehiclePlot.Timestamp); vehiclePlotDto.EventCode.Should().Be(vehiclePlot.EventCode); }
private void Tick(object state) { try { var vehiclePlot = VehiclePlotHelper.GetNextVehiclePlot(_lastVehiclePlot); _logger.LogInformation($"Sending vehicle plot: {{ vehicleId: {vehiclePlot.VehicleId}, longitude: {vehiclePlot.Longitude}, " + $"latitude: {vehiclePlot.Latitude}, timestamp: {vehiclePlot.Timestamp}, eventCode: {vehiclePlot.EventCode.ToString()} }}"); _vehiclePlotService.Send(vehiclePlot); _lastVehiclePlot = vehiclePlot; } finally { _timer?.Change(_interval, Timeout.Infinite); } }
public async Task InsertAsync(VehiclePlot vehiclePlot) { var vehiclePlotDto = _vehiclePlotFactory.ToDto(vehiclePlot); await _vehiclePlotDao.InsertAsync(vehiclePlotDto); }
public async Task InsertAsync(VehiclePlot vehiclePlot) { await _vehiclePlotRepository.InsertAsync(vehiclePlot); }
private VehicleJourney CreateVehicleJourney(VehiclePlot vehiclePlot, DateTime?startTime, DateTime?endTime) { return(new VehicleJourney(vehiclePlot.VehicleId, vehiclePlot.Latitude, vehiclePlot.Longitude, vehiclePlot.Timestamp, vehiclePlot.EventCode, startTime, endTime)); }