blob: b9aedd9b3dbc58e3b0984667eb205a5d94b2cff6 [file] [log] [blame]
package org.robolectric.shadows;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.TestRunners;
import static org.fest.assertions.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@RunWith(TestRunners.WithDefaults.class)
public class RadioButtonTest {
@Test
public void canBeExplicitlyChecked() throws Exception {
RadioButton radioButton = new RadioButton(Robolectric.application);
assertFalse(radioButton.isChecked());
radioButton.setChecked(true);
assertTrue(radioButton.isChecked());
radioButton.setChecked(false);
assertFalse(radioButton.isChecked());
}
@Test
public void canBeToggledBetweenCheckedState() throws Exception {
RadioButton radioButton = new RadioButton(Robolectric.application);
assertFalse(radioButton.isChecked());
radioButton.toggle();
assertTrue(radioButton.isChecked());
radioButton.toggle();
assertFalse(radioButton.isChecked());
}
@Test
public void canBeClickedToToggleCheckedState() throws Exception {
RadioButton radioButton = new RadioButton(Robolectric.application);
assertFalse(radioButton.isChecked());
radioButton.performClick();
assertTrue(radioButton.isChecked());
radioButton.performClick();
assertFalse(radioButton.isChecked());
}
@Test
public void shouldInformRadioGroupThatItIsChecked() throws Exception {
RadioButton radioButton1 = new RadioButton(Robolectric.application);
radioButton1.setId(99);
RadioButton radioButton2 = new RadioButton(Robolectric.application);
radioButton2.setId(100);
RadioGroup radioGroup = new RadioGroup(Robolectric.application);
radioGroup.addView(radioButton1);
radioGroup.addView(radioButton2);
radioButton1.setChecked(true);
assertThat(radioGroup.getCheckedRadioButtonId()).isEqualTo(radioButton1.getId());
radioButton2.setChecked(true);
assertThat(radioGroup.getCheckedRadioButtonId()).isEqualTo(radioButton2.getId());
}
}