@SuppressWarnings("unchecked") @Override public State<ButtonAction> getEvent() { return (State<ButtonAction>) super.getEvent(); }
@Override public boolean equals(Object obj) { if(this == obj) { return true; } if(!super.equals(obj) || getClass() != obj.getClass()) { return false; } @SuppressWarnings("unchecked") final EventedMeasurement<TheUnit> other = (EventedMeasurement<TheUnit>) obj; return Objects.equal(getEvent(), other.getEvent()); } }
private void checkDeserializeSerialize(Measurement measurement) throws UnrecognizedMeasurementTypeException, NoValueException { SimpleVehicleMessage message = measurement.toVehicleMessage(); Measurement deserializedMeasurement = BaseMeasurement.getMeasurementFromMessage(message); assertThat(deserializedMeasurement, instanceOf(measurement.getClass())); assertThat(deserializedMeasurement, equalTo(measurement)); }
public static Measurement getMeasurementFromMessage( SimpleVehicleMessage message) throws UnrecognizedMeasurementTypeException, NoValueException { Class<? extends Measurement> measurementClass = BaseMeasurement.getClassForId(message.getName()); return BaseMeasurement.getMeasurementFromMessage(measurementClass, message); }
@Test public void buildFromMessage() throws UnrecognizedMeasurementTypeException, NoValueException { VehicleSpeed measurement = new VehicleSpeed(value); Measurement deserializedMeasurement = BaseMeasurement.getMeasurementFromMessage(message); assertThat(deserializedMeasurement, instanceOf(VehicleSpeed.class)); VehicleSpeed vehicleSpeed = (VehicleSpeed) deserializedMeasurement; assertThat(vehicleSpeed, equalTo(measurement)); }
@Test public void differentClassSameValueNotEqual() { VehicleSpeed measurement = new VehicleSpeed(value); EngineSpeed otherMeasurement = new EngineSpeed(value); assertFalse(measurement.equals(otherMeasurement)); }
@Test(expected=NoValueException.class) public void buildFromNull() throws NoValueException, UnrecognizedMeasurementTypeException { BaseMeasurement.getMeasurementFromMessage(VehicleSpeed.class, null); }
@Test(expected=UnrecognizedMeasurementTypeException.class) public void getKeyForMeasurementMissingIdField() throws UnrecognizedMeasurementTypeException { BaseMeasurement.getKeyForMeasurement(InvalidMeasurementType.class); }
@Override public String toString() { return getValue().toString(); } }
/** * Convert a Measurement to a SimpleVehicleMessage and send it through the * active VehicleInterface. * * @param message The desired message to send to the vehicle. * @return true if the message was sent successfully on an interface. */ public boolean send(Measurement message) { return send(message.toVehicleMessage()); }
public static Class<? extends Measurement> getClassForId(String measurementId) throws UnrecognizedMeasurementTypeException { Class<? extends Measurement> result = sMeasurementIdToClass.get( measurementId); if(result == null) { throw new UnrecognizedMeasurementTypeException( "Didn't have a measurement with ID " + measurementId + " cached"); } return result; }
public Object getEvent() { if(hasEvent()) { return mEvent.getValue(); } return null; }
@Before public void setUp() { measurement = new TurnSignalStatus( TurnSignalStatus.TurnSignalPosition.LEFT); }
@Test(expected=UnrecognizedMeasurementTypeException.class) public void getKeyForMeasurementPrivateID() throws UnrecognizedMeasurementTypeException { BaseMeasurement.getKeyForMeasurement(PrivateIdFieldMeasurement.class); }
@Override public Object getSerializedValue() { return getValue().getSerializedValue(); }
@Override public com.openxc.units.Boolean getEvent() { return (com.openxc.units.Boolean) super.getEvent(); }