| package com.xtremelabs.robolectric.shadows; |
| |
| import static org.hamcrest.CoreMatchers.nullValue; |
| import static org.hamcrest.CoreMatchers.sameInstance; |
| import static org.junit.Assert.assertThat; |
| |
| import org.junit.Before; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| |
| import android.app.Activity; |
| import android.widget.SeekBar; |
| |
| import com.xtremelabs.robolectric.Robolectric; |
| import com.xtremelabs.robolectric.WithTestDefaultsRunner; |
| import com.xtremelabs.robolectric.util.Transcript; |
| |
| @RunWith(WithTestDefaultsRunner.class) |
| public class SeekBarTest { |
| |
| private SeekBar seekBar; |
| private ShadowSeekBar shadow; |
| private SeekBar.OnSeekBarChangeListener listener; |
| private Transcript transcript; |
| |
| @Before |
| public void setup() { |
| seekBar = new SeekBar(new Activity()); |
| shadow = Robolectric.shadowOf(seekBar); |
| listener = new TestSeekBarChangedListener(); |
| transcript = new Transcript(); |
| seekBar.setOnSeekBarChangeListener(listener); |
| } |
| |
| @Test |
| public void testOnSeekBarChangedListener() { |
| assertThat(shadow.getOnSeekBarChangeListener(), sameInstance(listener)); |
| seekBar.setOnSeekBarChangeListener(null); |
| assertThat(shadow.getOnSeekBarChangeListener(), nullValue()); |
| } |
| |
| @Test |
| public void testOnChangeNotification() { |
| seekBar.setProgress(5); |
| transcript.assertEventsSoFar("onProgressChanged() - 5"); |
| } |
| |
| private class TestSeekBarChangedListener implements SeekBar.OnSeekBarChangeListener { |
| |
| @Override |
| public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { |
| transcript.add("onProgressChanged() - " + progress); |
| } |
| |
| @Override |
| public void onStartTrackingTouch(SeekBar seekBar) { |
| } |
| |
| @Override |
| public void onStopTrackingTouch(SeekBar seekBar) { |
| } |
| } |
| } |