Java源码示例:org.robolectric.fakes.RoboMenuItem

示例1
@Test
public void testDelete() {
    RecyclerView.ViewHolder holder = shadowAdapter.getViewHolder(0);
    holder.itemView.performLongClick();

    ActionMode actionMode = mock(ActionMode.class);
    activity.actionModeCallback.onActionItemClicked(actionMode, new RoboMenuItem(R.id.menu_clear));
    AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
    dialog.getButton(DialogInterface.BUTTON_NEGATIVE).performClick();
    assertEquals(2, adapter.getItemCount());

    activity.actionModeCallback.onActionItemClicked(actionMode, new RoboMenuItem(R.id.menu_clear));
    dialog = ShadowAlertDialog.getLatestAlertDialog();
    dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
    verify(favoriteManager).remove(any(Context.class), selection.capture());
    assertThat(selection.getValue()).contains("1");
    verify(actionMode).finish();

    when(favoriteManager.getSize()).thenReturn(1);
    observerCaptor.getValue().onChanged();
    assertEquals(1, adapter.getItemCount());
}
 
示例2
@SuppressLint("NewApi")
@Test
public void testWebControls() {
    LocalBroadcastManager.getInstance(activity)
            .sendBroadcast(new Intent(WebFragment.ACTION_FULLSCREEN)
                    .putExtra(WebFragment.EXTRA_FULLSCREEN, true));
    ShadowWebView shadowWebView = Shadow.extract(activity.findViewById(R.id.web_view));
    activity.findViewById(R.id.button_more).performClick();
    shadowOf(ShadowPopupMenu.getLatestPopupMenu()).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_zoom_in));
    assertThat(shadowWebView.getZoomDegree()).isEqualTo(1);
    activity.findViewById(R.id.button_more).performClick();
    shadowOf(ShadowPopupMenu.getLatestPopupMenu()).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_zoom_out));
    assertThat(shadowWebView.getZoomDegree()).isEqualTo(0);
    activity.findViewById(R.id.button_forward).performClick();
    assertThat(shadowWebView.getPageIndex()).isEqualTo(1);
    activity.findViewById(R.id.button_back).performClick();
    assertThat(shadowWebView.getPageIndex()).isEqualTo(0);
}
 
示例3
@Test
public void testRefresh() {
    RecyclerView.ViewHolder holder = shadowAdapter.getViewHolder(0);
    holder.itemView.performLongClick();

    ActionMode actionMode = mock(ActionMode.class);
    activity.actionModeCallback.onActionItemClicked(actionMode, new RoboMenuItem(R.id.menu_refresh));
    verify(syncScheduler).scheduleSync(any(), any());
    verify(actionMode).finish();
}
 
示例4
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testVoteItem() {
    shadowAdapter.getViewHolder(0).itemView.findViewById(R.id.button_more).performClick();
    PopupMenu popupMenu = ShadowPopupMenu.getLatestPopupMenu();
    Assert.assertNotNull(popupMenu);
    shadowOf(popupMenu).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_contextual_vote));
    verify(userServices).voteUp(any(Context.class), any(), userServicesCallback.capture());
    userServicesCallback.getValue().onDone(true);
    assertEquals(activity.getString(R.string.voted), ShadowToast.getTextOfLatestToast());
}
 
示例5
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testVoteItemPromptToLogin() {
    shadowAdapter.getViewHolder(0).itemView.findViewById(R.id.button_more).performClick();
    PopupMenu popupMenu = ShadowPopupMenu.getLatestPopupMenu();
    Assert.assertNotNull(popupMenu);
    shadowOf(popupMenu).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_contextual_vote));
    verify(userServices).voteUp(any(Context.class), any(), userServicesCallback.capture());
    userServicesCallback.getValue().onDone(false);
    assertThat(shadowOf(activity).getNextStartedActivity())
            .hasComponent(activity, LoginActivity.class);
}
 
示例6
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testVoteItemFailed() {
    shadowAdapter.getViewHolder(0).itemView.findViewById(R.id.button_more).performClick();
    PopupMenu popupMenu = ShadowPopupMenu.getLatestPopupMenu();
    Assert.assertNotNull(popupMenu);
    shadowOf(popupMenu).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_contextual_vote));
    verify(userServices).voteUp(any(Context.class), any(), userServicesCallback.capture());
    userServicesCallback.getValue().onError(new IOException());
    assertEquals(activity.getString(R.string.vote_failed), ShadowToast.getTextOfLatestToast());
}
 
示例7
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testReply() {
    shadowAdapter.getViewHolder(0).itemView.findViewById(R.id.button_more).performClick();
    PopupMenu popupMenu = ShadowPopupMenu.getLatestPopupMenu();
    Assert.assertNotNull(popupMenu);
    shadowOf(popupMenu).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_contextual_comment));
    assertThat(shadowOf(activity).getNextStartedActivity())
            .hasComponent(activity, ComposeActivity.class);
}
 
示例8
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Test
public void testShare() {
    TestApplication.addResolver(new Intent(Intent.ACTION_SEND));
    shadowAdapter.getViewHolder(0).itemView.findViewById(R.id.button_more).performClick();
    PopupMenu popupMenu = ShadowPopupMenu.getLatestPopupMenu();
    Assert.assertNotNull(popupMenu);
    shadowOf(popupMenu).getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_contextual_share));
    assertThat(shadowOf(activity).getNextStartedActivity())
            .hasAction(Intent.ACTION_SEND);
}
 
示例9
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(scenarioService, never()).add(any(ScenarioModel.class));
    verify(scenarioService, never()).update(any(ScenarioModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
    //assertTrue("bad focus", view.hasFocus());
}
 
示例10
private ScenarioModel common_onMenuSave_valid(String uuidExtra) {
    String SCENARIO_NAME = "myName";
    String SCENARIO_GATEWAY_SELECTED = "uuid2";
    String SCENARIO_WHERE = "08";
    Integer SCENARIO_ENVIRONMENT_SELECTED = 101;
    boolean SCENARIO_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(SCENARIO_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(SCENARIO_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String SCENARIO_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(scenarioService.add(any(ScenarioModel.class))).thenReturn(Observable.just(SCENARIO_UUID));
    when(scenarioService.update(any(ScenarioModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    editTextScenarioName.setText(String.valueOf(SCENARIO_NAME));
    editTextScenarioWhere.setText(String.valueOf(SCENARIO_WHERE));

    checkBoxDeviceFavourite.setChecked(SCENARIO_FAVOURITE);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    ScenarioModel scenarioModel = new ScenarioModel();
    scenarioModel.setUuid(uuidExtra);
    scenarioModel.setName(SCENARIO_NAME);
    scenarioModel.setWhere(SCENARIO_WHERE);
    scenarioModel.setEnvironmentId(SCENARIO_ENVIRONMENT_SELECTED);
    scenarioModel.setGatewayUuid(SCENARIO_GATEWAY_SELECTED);
    scenarioModel.setFavourite(SCENARIO_FAVOURITE);
    return scenarioModel;
}
 
示例11
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(deviceService, never()).add(any(DeviceModel.class));
    verify(deviceService, never()).update(any(DeviceModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
    //assertTrue("bad focus", view.hasFocus());
}
 
示例12
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(soundService, never()).add(any(SoundModel.class));
    verify(soundService, never()).update(any(SoundModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
    //assertTrue("bad focus", view.hasFocus());
}
 
示例13
private TemperatureModel common_onMenuSave_valid(String uuidExtra) {
    String TEMPERATURE_NAME = "myName";
    String TEMPERATURE_GATEWAY_SELECTED = "uuid2";
    String TEMPERATURE_WHERE = "08";
    Integer TEMPERATURE_ENVIRONMENT_SELECTED = 101;
    boolean TEMPERATURE_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(TEMPERATURE_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(TEMPERATURE_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String TEMPERATURE_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(temperatureService.add(any(TemperatureModel.class))).thenReturn(Observable.just(TEMPERATURE_UUID));
    when(temperatureService.update(any(TemperatureModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    editTextTemperatureName.setText(String.valueOf(TEMPERATURE_NAME));
    editTextTemperatureWhere.setText(String.valueOf(TEMPERATURE_WHERE));
    checkBoxDeviceFavourite.setChecked(TEMPERATURE_FAVOURITE);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    TemperatureModel temperatureMock = new TemperatureModel();
    temperatureMock.setUuid(uuidExtra);
    temperatureMock.setName(TEMPERATURE_NAME);
    temperatureMock.setWhere(TEMPERATURE_WHERE);
    temperatureMock.setEnvironmentId(TEMPERATURE_ENVIRONMENT_SELECTED);
    temperatureMock.setGatewayUuid(TEMPERATURE_GATEWAY_SELECTED);
    temperatureMock.setFavourite(TEMPERATURE_FAVOURITE);
    return temperatureMock;
}
 
示例14
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(automationService, never()).add(any(AutomationModel.class));
    verify(automationService, never()).update(any(AutomationModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
    //assertTrue("bad focus", view.hasFocus());
}
 
示例15
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(lightService, never()).add(any(LightModel.class));
    verify(lightService, never()).update(any(LightModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
    //assertTrue("bad focus", view.hasFocus());
}
 
示例16
private void expectViewError(TextView view, String error) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(ipcamService, never()).add(any(IpcamModel.class));
    verify(ipcamService, never()).update(any(IpcamModel.class));
    assertEquals("should be required", error, view.getError());
    // fix error:
    // The specified child already has a parent. You must call removeView() on the child's parent first.
    if (view.getParent() != null && view instanceof EditText) {
        ((ViewGroup) view.getParent()).removeView(view);
    }
}
 
示例17
private IpcamModel common_onMenuSave_valid(String uuidExtra) {
    String IPCAM_NAME = "myName";
    String IPCAM_URL = "http://myUrl";
    String IPCAM_USERNAME = "myUsername";
    String IPCAM_PASSWORD = "myPassword";
    Integer IPCAM_ENVIRONMENT_SELECTED = 108;
    boolean IPCAM_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(IPCAM_ENVIRONMENT_SELECTED, "env1"))));

    String IPCAM_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(ipcamService.add(any(IpcamModel.class))).thenReturn(Observable.just(IPCAM_UUID));
    when(ipcamService.update(any(IpcamModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    editTextIpcamName.setText(IPCAM_NAME);
    editTextIpcamUrl.setText(IPCAM_URL);
    switchIpcamAuthentication.setChecked(true);
    editTextIpcamUsername.setText(IPCAM_USERNAME);
    editTextIpcamPassword.setText(IPCAM_PASSWORD);
    spinnerIpcamStreamType.setSelection(0);
    spinnerDeviceEnvironment.setSelection(0);
    checkBoxDeviceFavourite.setChecked(IPCAM_FAVOURITE);

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    IpcamModel ipcamModel = IpcamModel.updateBuilder(IPCAM_UUID)
        .name(IPCAM_NAME)
        .url(IPCAM_URL)
        .username(IPCAM_USERNAME)
        .password(IPCAM_PASSWORD)
        .streamType(IpcamModel.StreamType.MJPEG)
        .environment(IPCAM_ENVIRONMENT_SELECTED)
        .favourite(IPCAM_FAVOURITE)
        .build();
    return ipcamModel;
}
 
示例18
@Test
public void testReadabilityToggle() {
    activity.fragment.onOptionsItemSelected(new RoboMenuItem(R.id.menu_readability));
    verify(readabilityClient).parse(any(), eq("http://example.com"), any());
}
 
示例19
@SuppressLint("NewApi")
@Test
public void testOptionExternal() {
    ShadowPackageManager packageManager = shadowOf(RuntimeEnvironment.application.getPackageManager());
    packageManager.addResolveInfoForIntent(
            new Intent(Intent.ACTION_VIEW,
                    Uri.parse("http://example.com")),
            ShadowResolveInfo.newResolveInfo("label", "com.android.chrome", "DefaultActivity"));
    packageManager.addResolveInfoForIntent(
            new Intent(Intent.ACTION_VIEW,
                    Uri.parse(String.format(HackerNewsClient.WEB_ITEM_PATH, "1"))),
            ShadowResolveInfo.newResolveInfo("label", "com.android.chrome", "DefaultActivity"));
    Intent intent = new Intent();
    intent.putExtra(ItemActivity.EXTRA_ITEM, new TestItem() {
        @NonNull
        @Override
        public String getType() {
            return STORY_TYPE;
        }

        @Override
        public String getUrl() {
            return "http://example.com";
        }

        @Override
        public boolean isStoryType() {
            return true;
        }

        @Override
        public String getId() {
            return "1";
        }
    });
    controller = Robolectric.buildActivity(ItemActivity.class, intent);
    controller.create().start().resume();
    activity = controller.get();

    // inflate menu, see https://github.com/robolectric/robolectric/issues/1326
    ShadowLooper.pauseMainLooper();
    controller.visible();
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();

    // open article
    shadowOf(activity).clickMenuItem(R.id.menu_external);
    shadowOf(ShadowPopupMenu.getLatestPopupMenu())
            .getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_article));
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();
    assertThat(shadowOf(activity).getNextStartedActivity()).hasAction(Intent.ACTION_VIEW);

    // open item
    shadowOf(activity).clickMenuItem(R.id.menu_external);
    shadowOf(ShadowPopupMenu.getLatestPopupMenu())
            .getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_comments));
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();
    assertThat(shadowOf(activity).getNextStartedActivity()).hasAction(Intent.ACTION_VIEW);
}
 
示例20
@SuppressLint("NewApi")
@Test
public void testShare() {
    TestApplication.addResolver(new Intent(Intent.ACTION_SEND));
    Intent intent = new Intent();
    intent.putExtra(ItemActivity.EXTRA_ITEM, new TestItem() {
        @NonNull
        @Override
        public String getType() {
            return STORY_TYPE;
        }

        @Override
        public String getUrl() {
            return "http://example.com";
        }

        @Override
        public boolean isStoryType() {
            return true;
        }

        @Override
        public String getId() {
            return "1";
        }
    });
    controller = Robolectric.buildActivity(ItemActivity.class, intent);
    controller.create().start().resume();
    activity = controller.get();

    // inflate menu, see https://github.com/robolectric/robolectric/issues/1326
    ShadowLooper.pauseMainLooper();
    controller.visible();
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();

    // share article
    shadowOf(activity).clickMenuItem(R.id.menu_share);
    shadowOf(ShadowPopupMenu.getLatestPopupMenu())
            .getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_article));
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();
    Intent actual = shadowOf(activity).getNextStartedActivity();
    assertThat(actual)
            .hasAction(Intent.ACTION_SEND);

    // share item
    shadowOf(activity).clickMenuItem(R.id.menu_share);
    shadowOf(ShadowPopupMenu.getLatestPopupMenu())
            .getOnMenuItemClickListener()
            .onMenuItemClick(new RoboMenuItem(R.id.menu_comments));
    ShadowApplication.getInstance().getForegroundThreadScheduler().advanceToLastPostedRunnable();
    actual = shadowOf(activity).getNextStartedActivity();
    assertThat(actual)
            .hasAction(Intent.ACTION_SEND);
}
 
示例21
@Test
public void testMenu() {
    TestWebItem item = new TestWebItem() {
        @NonNull
        @Override
        public String getType() {
            return STORY_TYPE;
        }

        @Override
        public String getId() {
            return "1";
        }

        @Override
        public String getUrl() {
            return String.format(HackerNewsClient.WEB_ITEM_PATH, "1");
        }

        @Override
        public String getDisplayedTitle() {
            return "Ask HN";
        }
    };
    Intent intent = new Intent();
    intent.putExtra(WebActivity.EXTRA_ITEM, item);
    controller = Robolectric.buildActivity(WebActivity.class, intent);
    controller.create().start().resume().visible();
    activity = controller.get();
    verify(itemManager).getItem(eq("1"), eq(ItemManager.MODE_DEFAULT), listener.capture());
    listener.getValue().onResponse(new TestItem() {
        @Override
        public String getText() {
            return "text";
        }
    });
    Fragment fragment = activity.getSupportFragmentManager()
            .findFragmentByTag(WebFragment.class.getName());
    assertTrue(fragment.hasOptionsMenu());
    fragment.onOptionsItemSelected(new RoboMenuItem(R.id.menu_font_options));
    assertNotNull(ShadowDialog.getLatestDialog());
    PreferenceManager.getDefaultSharedPreferences(activity)
            .edit()
            .putString(activity.getString(R.string.pref_readability_font), "DroidSans.ttf")
            .apply();
    WebView webView = activity.findViewById(R.id.web_view);
    ShadowWebView shadowWebView = shadowOf(webView);
    shadowWebView.getWebViewClient().onPageFinished(webView, "about:blank");
    assertThat(shadowWebView.getLastLoadDataWithBaseURL().data)
            .contains("text")
            .contains("DroidSans.ttf");
}
 
示例22
private DeviceModel common_onMenuSave_valid(String uuidExtra) {
    String DEVICE_NAME = "myName";
    String DEVICE_GATEWAY_SELECTED = "uuid8";
    String DEVICE_REQUEST = "myRequest";
    String DEVICE_RESPONSE = "myResponse";
    Integer DEVICE_ENVIRONMENT_SELECTED = 108;
    boolean DEVICE_FAVOURITE = true;
    boolean DEVICE_RUN_ON_LOAD = true;
    boolean DEVICE_SHOW_CONFIRMATION = false;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(DEVICE_ENVIRONMENT_SELECTED, "env8"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(DEVICE_GATEWAY_SELECTED, "8.8.8.8", 8))));

    String DEVICE_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";

    when(deviceService.add(any(DeviceModel.class))).thenReturn(Observable.just(DEVICE_UUID));
    when(deviceService.update(any(DeviceModel.class))).thenReturn(Observable.just(null));

    createActivityWithIntent(uuidExtra, null, null);

    editTextDeviceName.setText(DEVICE_NAME);
    editTextDeviceRequest.setText(DEVICE_REQUEST);
    editTextDeviceResponse.setText(DEVICE_RESPONSE);
    checkBoxDeviceFavourite.setChecked(DEVICE_FAVOURITE);
    checkBoxDeviceRunOnLoad.setChecked(DEVICE_RUN_ON_LOAD);
    checkBoxDeviceConfirm.setChecked(DEVICE_SHOW_CONFIRMATION);
    checkBoxDeviceAccept.setChecked(true);

    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    return DeviceModel.updateBuilder(DEVICE_UUID)
        .name(DEVICE_NAME)
        .request(DEVICE_REQUEST)
        .response(DEVICE_RESPONSE)
        .environment(DEVICE_ENVIRONMENT_SELECTED)
        .gateway(DEVICE_GATEWAY_SELECTED)
        .favourite(DEVICE_FAVOURITE)
        .runOnLoad(DEVICE_RUN_ON_LOAD)
        .showConfirmation(DEVICE_SHOW_CONFIRMATION)
        .build();
}
 
示例23
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(energyService, never()).add(any(EnergyModel.class));
    verify(energyService, never()).update(any(EnergyModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
}
 
示例24
private EnergyModel common_onMenuSave_valid(String uuidExtra) {
    String ENERGY_NAME = "myName";
    String ENERGY_GATEWAY_SELECTED = "uuid2";
    String ENERGY_WHERE = "08";
    EnergyManagement.Version ENERGY_VERSION = EnergyManagement.Version.MODEL_F523_A;
    Integer ENERGY_ENVIRONMENT_SELECTED = 101;
    boolean ENERGY_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(ENERGY_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(ENERGY_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String ENERGY_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(energyService.add(any(EnergyModel.class))).thenReturn(Observable.just(ENERGY_UUID));
    when(energyService.update(any(EnergyModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    editTextEnergyName.setText(String.valueOf(ENERGY_NAME));
    editTextEnergyWhere.setText(String.valueOf(ENERGY_WHERE));
    checkBoxDeviceFavourite.setChecked(ENERGY_FAVOURITE);

    spinnerEnergyVersion.setSelection(1);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    EnergyModel energyModelMock = new EnergyModel();
    energyModelMock.setUuid(uuidExtra);
    energyModelMock.setName(ENERGY_NAME);
    energyModelMock.setWhere(ENERGY_WHERE);
    energyModelMock.setEnergyManagementVersion(ENERGY_VERSION);
    energyModelMock.setEnvironmentId(ENERGY_ENVIRONMENT_SELECTED);
    energyModelMock.setGatewayUuid(ENERGY_GATEWAY_SELECTED);
    energyModelMock.setFavourite(ENERGY_FAVOURITE);
    return energyModelMock;
}
 
示例25
private SoundModel common_onMenuSave_valid(String uuidExtra) {
    String SOUND_NAME = "myName";
    String SOUND_GATEWAY_SELECTED = "uuid2";
    String SOUND_WHERE = "08";
    SoundSystem.Source SOUND_SOURCE = SoundSystem.Source.STEREO_CHANNEL;
    SoundSystem.Type SOUND_TYPE = SoundSystem.Type.AMPLIFIER_P2P;
    Integer SOUND_ENVIRONMENT_SELECTED = 101;
    boolean SOUND_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(SOUND_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(SOUND_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String SOUND_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(soundService.add(any(SoundModel.class))).thenReturn(Observable.just(SOUND_UUID));
    when(soundService.update(any(SoundModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    checkBoxDeviceFavourite.setChecked(SOUND_FAVOURITE);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);
    spinnerSoundType.setSelection(2);

    editTextSoundName.setText(String.valueOf(SOUND_NAME));
    editTextSoundWhere.setText(String.valueOf(SOUND_WHERE));

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    SoundModel soundMock = new SoundModel();
    soundMock.setUuid(uuidExtra);
    soundMock.setName(SOUND_NAME);
    soundMock.setWhere(SOUND_WHERE);
    soundMock.setSoundSystemSource(SOUND_SOURCE);
    soundMock.setSoundSystemType(SOUND_TYPE);
    soundMock.setEnvironmentId(SOUND_ENVIRONMENT_SELECTED);
    soundMock.setGatewayUuid(SOUND_GATEWAY_SELECTED);
    soundMock.setFavourite(SOUND_FAVOURITE);
    return soundMock;
}
 
示例26
private void expectRequired(TextView view) {
    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));
    verify(temperatureService, never()).add(any(TemperatureModel.class));
    verify(temperatureService, never()).update(any(TemperatureModel.class));
    assertEquals("bad validation", validationRequired, view.getError());
}
 
示例27
private AutomationModel common_onMenuSave_valid(String uuidExtra) {
    String AUTOMATION_NAME = "myName";
    String AUTOMATION_GATEWAY_SELECTED = "uuid2";
    String AUTOMATION_WHERE = "08";
    Integer AUTOMATION_ENVIRONMENT_SELECTED = 101;
    boolean AUTOMATION_FAVOURITE = true;
    Automation.Type AUTOMATION_TYPE = Automation.Type.POINT_TO_POINT;
    String AUTOMATION_BUS = Automation.NO_BUS;

    when(environmentService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newEnvironment(AUTOMATION_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
        just(Arrays.asList(newGateway(AUTOMATION_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String AUTOMATION_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(automationService.add(any(AutomationModel.class))).thenReturn(Observable.just(AUTOMATION_UUID));
    when(automationService.update(any(AutomationModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    checkBoxDeviceFavourite.setChecked(AUTOMATION_FAVOURITE);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);
    spinnerAutomationType.setSelection(6);

    editTextAutomationName.setText(String.valueOf(AUTOMATION_NAME));
    editTextAutomationWhere.setText(String.valueOf(AUTOMATION_WHERE));
    editTextAutomationBus.setText(String.valueOf(AUTOMATION_BUS));

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    AutomationModel automationMock = new AutomationModel();
    automationMock.setUuid(uuidExtra);
    automationMock.setName(AUTOMATION_NAME);
    automationMock.setWhere(AUTOMATION_WHERE);
    automationMock.setAutomationType(AUTOMATION_TYPE);
    automationMock.setBus(AUTOMATION_BUS);
    automationMock.setEnvironmentId(AUTOMATION_ENVIRONMENT_SELECTED);
    automationMock.setGatewayUuid(AUTOMATION_GATEWAY_SELECTED);
    automationMock.setFavourite(AUTOMATION_FAVOURITE);
    return automationMock;
}
 
示例28
private LightModel common_onMenuSave_valid(String uuidExtra) {
    String LIGHT_NAME = "myName";
    String LIGHT_GATEWAY_SELECTED = "uuid2";
    String LIGHT_WHERE = "08";
    String LIGHT_BUS = Lighting.NO_BUS;
    Lighting.Type LIGHT_TYPE = Lighting.Type.POINT_TO_POINT;
    Integer LIGHT_ENVIRONMENT_SELECTED = 101;
    boolean LIGHT_FAVOURITE = true;

    when(environmentService.findAll()).thenReturn(Observable.
            just(Arrays.asList(newEnvironment(LIGHT_ENVIRONMENT_SELECTED, "env1"))));
    when(gatewayService.findAll()).thenReturn(Observable.
            just(Arrays.asList(newGateway(LIGHT_GATEWAY_SELECTED, "2.2.2.2", 2))));

    String LIGHT_UUID = uuidExtra != null ? uuidExtra : "myNewUuid";
    when(lightService.add(any(LightModel.class))).thenReturn(Observable.just(LIGHT_UUID));
    when(lightService.update(any(LightModel.class))).thenReturn(Observable.just(null));

    createWithIntent(uuidExtra);

    checkBoxDeviceFavourite.setChecked(LIGHT_FAVOURITE);

    // for simplicity only 1 items
    spinnerDeviceEnvironment.setSelection(0);
    spinnerDeviceGateway.setSelection(0);
    spinnerLightType.setSelection(6);

    editTextLightName.setText(String.valueOf(LIGHT_NAME));
    editTextLightWhere.setText(String.valueOf(LIGHT_WHERE));
    editTextLightBus.setText(String.valueOf(LIGHT_BUS));

    activity.onOptionsItemSelected(new RoboMenuItem(R.id.action_device_save));

    LightModel lightMock = new LightModel();
    lightMock.setUuid(uuidExtra);
    lightMock.setName(LIGHT_NAME);
    lightMock.setWhere(LIGHT_WHERE);
    lightMock.setLightingType(LIGHT_TYPE);
    lightMock.setBus(LIGHT_BUS);
    lightMock.setEnvironmentId(LIGHT_ENVIRONMENT_SELECTED);
    lightMock.setGatewayUuid(LIGHT_GATEWAY_SELECTED);
    lightMock.setFavourite(LIGHT_FAVOURITE);
    return lightMock;
}