package es.jonatantierno.scrumdailytimer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import android.view.View;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "../ScrumDailyTimer/AndroidManifest.xml")
public class EndMeetingPageTransformerTest {
EndMeetingPageTransformer out;
View mockView;
@Before
public void setUp() throws Exception {
// Fixture
out = new EndMeetingPageTransformer();
mockView = mock(View.class);
when(mockView.getWidth()).thenReturn(100);
}
/**
* If not moving, no transformations
*/
@Test
public void whenStillThenShowsProperly() {
out.transformPage(mockView, 0);
verify(mockView).setAlpha(1f);
verify(mockView).setTranslationX(0.0f);
verify(mockView).setScaleX(1f);
verify(mockView).setScaleY(1f);
}
/**
* When dissapearing to the left (chrono screen), move (extra to compensate the increment in size), get more
* transparent, and get bigger.
*/
@Test
public void whenDissapearingToTheLeft() {
out.transformPage(mockView, -0.25f);
verify(mockView).setAlpha(0.5f);
}
/**
* When appearing from the right (results screen), stay almost still (compensate movenent in the list) and get
* bigger.
*/
@Test
public void whenAppearingFromTheRight() {
out.transformPage(mockView, 0.5f);
verify(mockView).setAlpha(1f);
verify(mockView).setTranslationX(-35f);
verify(mockView).setScaleX((float) (1 - 0.5 / 8));
verify(mockView).setScaleY((float) (1 - 0.5 / 8));
}
}