@Test public void serializeDiagnosticRequestWithOptional() { DiagnosticRequest request = new DiagnosticRequest(1, 2, 3, 4); request.setPayload(new byte[]{1,2,3,4}); request.setMultipleResponses(false); request.setFrequency(2.0); request.setName("foo"); serializeDeserializeAndCheckEqual(new Command(request, "add")); }
@Override public String toString() { return MoreObjects.toStringHelper(this) .add("timestamp", getTimestamp()) .add("bus", getBusId()) .add("id", getId()) .add("mode", getMode()) .add("pid", getPid()) .add("payload", Arrays.toString(getPayload())) .add("multiple_responses", getMultipleResponses()) .add("frequency", getFrequency()) .add("name", getName()) .add("extras", getExtras()) .toString(); }
public void run() { // TODO This is duplicated in DiagnosticResponseAdapter - figure // out the best way to share this rendering info TextView timestampView = (TextView) mLastRequestView.findViewById(R.id.timestamp); timestampView.setText(VehicleMessageAdapter.formatTimestamp( request)); TextView busView = (TextView) mLastRequestView.findViewById(R.id.bus); busView.setText("" + request.getBusId()); TextView idView = (TextView) mLastRequestView.findViewById(R.id.id); idView.setText("0x" + Integer.toHexString(request.getId())); TextView modeView = (TextView) mLastRequestView.findViewById(R.id.mode); modeView.setText("0x" + Integer.toHexString(request.getMode())); if(request.hasPid()) { TextView pidView = (TextView) mLastRequestView.findViewById(R.id.pid); pidView.setText("0x" + Integer.toHexString( request.getPid())); } } });
@Override public void writeToParcel(Parcel out, int flags) { super.writeToParcel(out, flags); out.writeValue(mMultipleResponses); out.writeValue(getFrequency()); out.writeString(getName()); }
requestBuilder.setBus(diagnosticRequest.getBusId()); requestBuilder.setMessageId(diagnosticRequest.getId()); requestBuilder.setMode(diagnosticRequest.getMode()); requestBuilder.setMultipleResponses(diagnosticRequest.getMultipleResponses()); if(diagnosticRequest.hasPid()) { requestBuilder.setPid(diagnosticRequest.getPid()); if(diagnosticRequest.hasFrequency()) { requestBuilder.setFrequency(diagnosticRequest.getFrequency()); if(diagnosticRequest.hasName()) { requestBuilder.setName(diagnosticRequest.getName()); if(diagnosticRequest.hasPayload()) { requestBuilder.setPayload(ByteString.copyFrom(diagnosticRequest.getPayload()));
@Test public void setPid() { request = new DiagnosticRequest(1, 2, 3); request.setPid(42); assertTrue(request.hasPid()); assertEquals(request.getPid(), Integer.valueOf(42)); }
@Before public void setup() { request = new DiagnosticRequest(bus, id, mode, pid); request.setPayload(payload); }
@Test public void getPidWithNoPidReturnsNull() { DiagnosticRequest noPidRequest = new DiagnosticRequest(1, 2, 3); assertFalse(noPidRequest.hasPid()); assertThat(noPidRequest.getPid(), nullValue()); }
private void onSendDiagnosticRequest(Spinner busSpinner, EditText idView, EditText modeView, EditText pidView) { boolean validInput = true; if(idView.getText().toString().isEmpty()) { idView.setError("ID is required"); validInput = false; } if(modeView.getText().toString().isEmpty()) { modeView.setError("Mode is required"); validInput = false; } if(validInput) { DiagnosticRequest request = new DiagnosticRequest( Integer.valueOf(busSpinner.getSelectedItem().toString()), Integer.valueOf(idView.getText().toString(), 16), Integer.valueOf(modeView.getText().toString(), 16)); // Make sure to update after sending so the timestamp is set by the // VehicleManager String pidString = pidView.getText().toString(); if(!pidString.isEmpty()) { request.setPid(Integer.valueOf(pidString, 16)); } mVehicleManager.send(request); // Make sure to update after sending so the timestamp is set by the // VehicleManager updateLastRequestView(request); } else { Log.i(TAG, "Form is invalid, not sending diagnostic request"); } }
@Test public void differentMultipleResponsesNotEqual() { DiagnosticRequest anotherRequest = new DiagnosticRequest( bus, id, mode); anotherRequest.setMultipleResponses(true); assertThat(request, not(equalTo(anotherRequest))); }
@Test public void differentDiagnosticRequestActionNotEqual() { message = new Command(request, action); Command anotherMessage = new Command(new DiagnosticRequest(5, 6, 7, 8), "another"); assertThat(message, not(equalTo(anotherMessage))); }
@Test public void differentFrequencyNotEqual() { DiagnosticRequest anotherRequest = new DiagnosticRequest( bus, id, mode); anotherRequest.setFrequency(2.0); assertThat(request, not(equalTo(anotherRequest))); }
@Test public void differentNameNotEqual() { DiagnosticRequest anotherRequest = new DiagnosticRequest( bus, id, mode); anotherRequest.setName("foo"); assertThat(request, not(equalTo(anotherRequest))); }
@Test public void getMultipleReturnsFalseIfNotSetOrFalse() { assertFalse(request.getMultipleResponses()); request.setMultipleResponses(false); assertFalse(request.getMultipleResponses()); }
@Test public void getKeyed() { DiagnosticRequest request = new DiagnosticRequest(42, 1, 2, 4); pipeline.receive(request); VehicleMessage message = pipeline.get(request.getKey()); assertThat(message, notNullValue()); assertEquals(message, request); } }
@Test public void writeAndReadFromParcelNoOptionalFields() { request = new DiagnosticRequest(1, 2, 3); Parcel parcel = Parcel.obtain(); request.writeToParcel(parcel, 0); // Reset parcel for reading parcel.setDataPosition(0); VehicleMessage createdFromParcel = VehicleMessage.CREATOR.createFromParcel(parcel); assertThat(createdFromParcel, instanceOf(DiagnosticRequest.class)); assertEquals(request, createdFromParcel); }
@Test public void getBusReturnsBus() { assertEquals(bus, request.getBusId()); }
@Test public void getIdReturnsId() { assertEquals(id, request.getId()); }
@Test public void getModeReturnsMode() { assertEquals(mode, request.getMode()); }
public boolean hasName() { return getName() != null; }