### Question:
CalibrationPresenter implements CalibrationContract.Presenter,
        FeatureAutoConfigurable.FeatureAutoConfigurationListener { @Override public void manage(@NonNull CalibrationContract.View v,@NonNull FeatureAutoConfigurable feature) { mView = v; mFeature = feature; feature.addFeatureListener(this); Boolean isConfigured = mFeature.isConfigured(); if(isConfigured == null){ mView.setCalibrationButtonState(false); }else{ if(isConfigured) { mView.setCalibrationButtonState(true); }else { mFeature.startAutoConfiguration(); } } }  @Override void manage(@NonNull CalibrationContract.View v,@NonNull FeatureAutoConfigurable feature); @Override void startCalibration(); @Override void unManageFeature(); @Override void onAutoConfigurationStarting(FeatureAutoConfigurable f); @Override void onConfigurationFinished(FeatureAutoConfigurable f, int status); @Override void onAutoConfigurationStatusChanged(FeatureAutoConfigurable f, int status); @Override void onUpdate(@NonNull Feature f, @NonNull Feature.Sample sample);  }### Answer:
@Test public void manageFeatureRegisterAListener() { presenter.manage(mView,mFeature); verify(mFeature).addFeatureListener(any(FeatureAutoConfigurationListener.class)); }
@Test public void ifFeatureIsNotCalibratedStartConfiguration(){ when(mFeature.isConfigured()).thenReturn(false); presenter.manage(mView,mFeature); verify(mFeature).startAutoConfiguration(); }
@Test public void ifFeatureIsCalibratedChangeButtonStatus(){ when(mFeature.isConfigured()).thenReturn(true); presenter.manage(mView,mFeature); verify(mView).setCalibrationButtonState(true); }