package com.pivotallabs.views;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.pivotallabs.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
@RunWith(RobolectricTestRunner.class)
public class LoadingTextViewTest {
private LoadingTextView loadingTextView;
private View loadingSpinner;
private TextView loadingTextTextView;
@Before
public void setUp() throws Exception {
loadingTextView = (LoadingTextView) LayoutInflater.from(new Activity()).inflate(R.layout.loading_text, null);
loadingSpinner = loadingTextView.findViewById(R.id.loading_text_spinner);
loadingTextTextView = (TextView) loadingTextView.findViewById(R.id.loading_text_text_view);
}
@Test
public void testStopLoadingAndSetTextShouldHideTheSpinnerAndShowTheTextView() throws Exception {
assertThat(loadingSpinner.getVisibility(), equalTo(View.VISIBLE));
assertThat(loadingTextTextView.getVisibility(), equalTo(View.INVISIBLE));
loadingTextView.stopLoadingAndSetText(R.string.unit_tests_ftw);
assertThat(loadingSpinner.getVisibility(), equalTo(View.GONE));
assertThat(loadingTextTextView.getVisibility(), equalTo(View.VISIBLE));
}
@Test
public void testStopLoadingAndSEtTextShouldSetTheTextOnTheTextView() {
loadingTextView.stopLoadingAndSetText(R.string.unit_tests_ftw);
assertThat((String) loadingTextTextView.getText(), equalTo("Unit Tests FTW!!!"));
}
}