| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| package com.amaze.filemanager.utils; |
|
|
| import static android.os.Build.VERSION_CODES.LOLLIPOP; |
| import static android.os.Build.VERSION_CODES.P; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertNull; |
| import static org.junit.Assert.assertTrue; |
| import static org.mockito.ArgumentMatchers.anyBoolean; |
| import static org.mockito.Mockito.doCallRealMethod; |
| import static org.mockito.Mockito.mock; |
|
|
| import java.lang.reflect.Field; |
|
|
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| import org.robolectric.annotation.Config; |
| import org.robolectric.shadows.ShadowLooper; |
|
|
| import com.amaze.filemanager.ui.views.ThemedTextView; |
|
|
| import android.os.Build; |
| import android.view.animation.Interpolator; |
|
|
| import androidx.test.core.app.ApplicationProvider; |
| import androidx.test.ext.junit.runners.AndroidJUnit4; |
|
|
| @RunWith(AndroidJUnit4.class) |
| @Config(sdk = {LOLLIPOP, P, Build.VERSION_CODES.R}) |
| public class AnimUtilsTest { |
|
|
| @Test |
| public void testGetFastOutSlowInInterpolator() |
| throws NoSuchFieldException, IllegalAccessException { |
| Field f = AnimUtils.class.getDeclaredField("fastOutSlowIn"); |
| f.setAccessible(true); |
| assertNull(f.get(null)); |
| Interpolator result = |
| AnimUtils.getFastOutSlowInInterpolator(ApplicationProvider.getApplicationContext()); |
| assertNotNull(result); |
| assertNotNull(f.get(null)); |
| } |
|
|
| @Test |
| public void testMarqueeAfterDelay() { |
| ThemedTextView mock = mock(ThemedTextView.class); |
| doCallRealMethod().when(mock).setSelected(anyBoolean()); |
| doCallRealMethod().when(mock).isSelected(); |
| mock.setSelected(false); |
|
|
| AnimUtils.marqueeAfterDelay(150, mock); |
| ShadowLooper.runUiThreadTasksIncludingDelayedTasks(); |
| assertTrue(mock.isSelected()); |
| } |
| } |
|
|