@Override public boolean send(VehicleMessage command) { command.untimestamp(); boolean sent = false; synchronized(VehicleService.this) { if(mVehicleInterface != null && mVehicleInterface.isConnected()) { try { mVehicleInterface.receive(command); Log.d(TAG, "Sent " + command + " using interface " + mVehicleInterface); sent = true; } catch(DataSinkException e) { Log.w(TAG, mVehicleInterface + " unable to send command", e); } } else { Log.w(TAG, "No connected VI available to send command"); } } return sent; }
continue; measurement.untimestamp(); if (!mTraceValid) { connected();
@Test public void testSerializeWithoutTimestamp() { VehicleMessage message = new SimpleVehicleMessage(messageName, value); message.untimestamp(); String serialized = new String(JsonFormatter.serialize(message)); assertFalse(serialized.contains("timestamp")); }
@Test public void untimestamp() { message = new VehicleMessage(Long.valueOf(10000), extras); message.untimestamp(); assertFalse(message.isTimestamped()); }
@Test public void readMultipleMessageAtOnceReceivesAll() { source.start(); source.connect(); List<SimpleVehicleMessage> messages = new ArrayList<>(); messages.add(new SimpleVehicleMessage("1", "foo")); messages.add(new SimpleVehicleMessage("2", "bar")); messages.add(new SimpleVehicleMessage("3", "baz")); for(SimpleVehicleMessage message : messages) { source.inject(new JsonStreamer().serializeForStream(message), false); } source.signal(); TestUtils.pause(100); ArgumentCaptor<VehicleMessage> argument = ArgumentCaptor.forClass( VehicleMessage.class); verify(callback, times(3)).receive(argument.capture()); List<VehicleMessage> capturedMessages = argument.getAllValues(); for(int i = 0; i < messages.size(); i++) { VehicleMessage received = capturedMessages.get(i); received.untimestamp(); assertEquals(received, messages.get(i)); } }
@Test public void receiveValidBinaryTriggersCallback() throws SerializationException { source.start(); source.connect(); SimpleVehicleMessage message = new SimpleVehicleMessage("foo", "bar"); source.inject(new BinaryStreamer().serializeForStream(message)); TestUtils.pause(100); ArgumentCaptor<VehicleMessage> argument = ArgumentCaptor.forClass( VehicleMessage.class); verify(callback).receive(argument.capture()); VehicleMessage received = argument.getValue(); received.untimestamp(); assertEquals(received, message); }
@Test public void receiveValidJsonTriggersCallback() { source.start(); source.connect(); SimpleVehicleMessage message = new SimpleVehicleMessage("foo", "bar"); source.inject(new JsonStreamer().serializeForStream(message)); TestUtils.pause(100); ArgumentCaptor<VehicleMessage> argument = ArgumentCaptor.forClass( VehicleMessage.class); verify(callback).receive(argument.capture()); VehicleMessage received = argument.getValue(); received.untimestamp(); assertEquals(received, message); }