@Test public void emptyMessage() { message = new VehicleMessage(new HashMap<String, Object>()); assertFalse(message.hasExtras()); assertThat(message.getExtras(), nullValue()); }
@Test public void emptyExtras() { message = new VehicleMessage(); message.setExtras(new HashMap<String, Object>()); assertFalse(message.hasExtras()); assertThat(message.getExtras(), nullValue()); }
@Test public void invalidExtras() { message = new VehicleMessage(); message.setExtras(null); assertFalse(message.hasExtras()); assertThat(message.getExtras(), nullValue()); }
public static MessageLite preSerialize(VehicleMessage message) throws SerializationException { if(message.hasExtras()) { throw new SerializationException("Messages with extras cannot be " + "serialized to the binary format - use JSON instead"); } BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); if(message instanceof CanMessage) { serializeCanMessage(builder, (CanMessage) message); } else if(message instanceof DiagnosticResponse) { serializeDiagnosticResponse(builder, (DiagnosticResponse) message); } else if(message instanceof Command) { serializeCommand(builder, (Command) message); } else if(message instanceof CommandResponse) { serializeCommandResponse(builder, (CommandResponse) message); } else if(message instanceof EventedSimpleVehicleMessage) { serializeEventedSimpleVehicleMessage(builder, (EventedSimpleVehicleMessage) message); } else if(message instanceof SimpleVehicleMessage) { serializeSimpleVehicleMessage(builder, (SimpleVehicleMessage) message); } else if(message instanceof NamedVehicleMessage) { serializeNamedVehicleMessage(builder, (NamedVehicleMessage) message); } else { serializeGenericVehicleMessage(builder, message); } return builder.build(); }