TravelTimePanel extends RelativeLayout implements TravelTimePicker.OnTimePickedListener { public TravelTimePanel setTime(final Date time) { if (time == null) { throw new IllegalArgumentException(getContext().getString(R.string.msdkui_exception_date_null)); } if (mOnTimeChangedListener != null && mDate != null && !mDate.equals(time)) { mOnTimeChangedListener.onTimeChanged(time, getTimeType()); } mDate = (Date) time.clone(); displayDateOnUi(); return this; } TravelTimePanel(final Context context);  TravelTimePanel(final Context context, final AttributeSet attrs);  TravelTimePanel(final Context context, final AttributeSet attrs, final int defStyleAttr); @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)  TravelTimePanel(final Context context, final AttributeSet attrs, final int defStyleAttr,
            final int defStyleRes); TravelTimePicker getPicker(); Date getTime(); TravelTimePanel setTime(final Date time); RouteOptions.TimeType getTimeType(); TravelTimePanel setTimeType(final RouteOptions.TimeType type); void setOnTimeChangedListener(final OnTimeChangedListener listener); @Override void onTimePicked(final Date date, final RouteOptions.TimeType type);  }
@Test(expected = IllegalArgumentException.class) public void testSetNullTimeShouldException() { mTravelTimePanel.setTime(null); }