### Question:
MotownCentralSystemService implements CentralSystemService { @Override public MeterValuesResponse meterValues(MeterValuesRequest request, String chargeBoxIdentity) { ChargingStationId chargingStationId = new ChargingStationId(chargeBoxIdentity); TransactionId transactionId = null; List<MeterValue> meterValues = new ArrayList<>(); for (io.motown.ocpp.v12.soap.centralsystem.schema.MeterValue mv : request.getValues()) { meterValues.add(new MeterValue(mv.getTimestamp(), Integer.toString(mv.getValue()))); } domainService.meterValues(chargingStationId, transactionId, new EvseId(request.getConnectorId()), meterValues, addOnIdentity); return new MeterValuesResponse(); }  @Override AuthorizeResponse authorize(final AuthorizeRequest request, final String chargeBoxIdentity); @Override BootNotificationResponse bootNotification(BootNotificationRequest request, String chargeBoxIdentity); @Override DiagnosticsStatusNotificationResponse diagnosticsStatusNotification(DiagnosticsStatusNotificationRequest request, String chargeBoxIdentity); @Override FirmwareStatusNotificationResponse firmwareStatusNotification(FirmwareStatusNotificationRequest request, String chargeBoxIdentity); @Override HeartbeatResponse heartbeat(HeartbeatRequest parameters, String chargeBoxIdentity); @Override MeterValuesResponse meterValues(MeterValuesRequest request, String chargeBoxIdentity); @Override StartTransactionResponse startTransaction(final StartTransactionRequest parameters, final String chargeBoxIdentity); @Override StatusNotificationResponse statusNotification(StatusNotificationRequest request, String chargeBoxIdentity); @Override StopTransactionResponse stopTransaction(StopTransactionRequest request, String chargeBoxIdentity); void setDomainService(DomainService domainService); void setContext(WebServiceContext context); void setContinuationTimeout(int continuationTimeout); void setHeartbeatIntervalFallback(int heartbeatIntervalFallback); void setSoapHeaderReader(SoapHeaderReader soapHeaderReader); void setAddOnId(String id);  }### Answer:
@Test public void meterValuesVerifyResponse() { MeterValuesRequest request = new MeterValuesRequest(); MeterValuesResponse response = motownCentralSystemService.meterValues(request, CHARGING_STATION_ID.getId()); assertNotNull(response); }
@Test public void meterValuesVerifyServiceCall() { MeterValuesRequest request = new MeterValuesRequest(); request.setConnectorId(EVSE_ID.getNumberedId()); List<io.motown.ocpp.v12.soap.centralsystem.schema.MeterValue> meterValuesSoap = getMeterValuesSoap(4); request.getValues().addAll(meterValuesSoap); List<MeterValue> expectedMeterValuesList = new ArrayList<>(); for (io.motown.ocpp.v12.soap.centralsystem.schema.MeterValue mv : meterValuesSoap) { expectedMeterValuesList.add(new MeterValue(mv.getTimestamp(), String.valueOf(mv.getValue()))); } motownCentralSystemService.meterValues(request, CHARGING_STATION_ID.getId()); verify(domainService).meterValues(CHARGING_STATION_ID, null, EVSE_ID, expectedMeterValuesList, OCPPS12_ADD_ON_IDENTITY); }