Refactor SfpsEnrollmentFeatureImplTest

Bug: 288155127
Test: atest SfpsEnrollmentFeatureImplTest
Change-Id: I2725e73ad595db752328bc5092ff4295f634c154
This commit is contained in:
Wu Ahan
2024-02-19 14:49:26 +00:00
parent e9917e2f48
commit c7e3149a25
2 changed files with 46 additions and 69 deletions

View File

@@ -33,11 +33,14 @@ import android.view.animation.AccelerateInterpolator;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import java.util.function.Function;
public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
@VisibleForTesting
public static final int HELP_ANIMATOR_DURATION = 550;
@Nullable
private FingerprintManager mFingerprintManager = null;
@@ -96,12 +99,11 @@ public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
@Override
public Animator getHelpAnimator(@NonNull View target) {
final float translationX = 40;
final int duration = 550;
final ObjectAnimator help = ObjectAnimator.ofFloat(target,
"translationX" /* propertyName */,
0, translationX, -1 * translationX, translationX, 0f);
help.setInterpolator(new AccelerateInterpolator());
help.setDuration(duration);
help.setDuration(HELP_ANIMATOR_DURATION);
help.setAutoCancel(false);
return help;
}

View File

@@ -44,16 +44,24 @@ import org.mockito.Mockito.`when` as whenever
@RunWith(AndroidJUnit4::class)
class SfpsEnrollmentFeatureImplTest {
private val STAGE_0 = 0
private val STAGE_1 = 1
private val STAGE_2 = 2
private val STAGE_3 = 3
private val STAGE_4 = 4
private val THRESHOLD_0 = 0f
private val THRESHOLD_1 = .36f
private val THRESHOLD_2 = .52f
private val THRESHOLD_3 = .76f
private val THRESHOLD_4 = 1f
@get:Rule
val mockito: MockitoRule = MockitoJUnit.rule()
@Spy
private val context: Context = ApplicationProvider.getApplicationContext()
private val settingsPackageName = "com.android.settings"
private lateinit var settingsContext: Context
@Mock
private lateinit var mockFingerprintManager: FingerprintManager
@@ -61,31 +69,34 @@ class SfpsEnrollmentFeatureImplTest {
@Before
fun setUp() {
assertThat(mSfpsEnrollmentFeatureImpl).isInstanceOf(SfpsEnrollmentFeatureImpl::class.java)
whenever(context.getSystemService(FingerprintManager::class.java))
.thenReturn(mockFingerprintManager)
doReturn(0f).`when`(mockFingerprintManager).getEnrollStageThreshold(0)
doReturn(0.36f).`when`(mockFingerprintManager).getEnrollStageThreshold(1)
doReturn(0.52f).`when`(mockFingerprintManager).getEnrollStageThreshold(2)
doReturn(0.76f).`when`(mockFingerprintManager).getEnrollStageThreshold(3)
doReturn(1f).`when`(mockFingerprintManager).getEnrollStageThreshold(4)
settingsContext = context.createPackageContext(settingsPackageName, 0)
doReturn(THRESHOLD_0).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_0)
doReturn(THRESHOLD_1).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_1)
doReturn(THRESHOLD_2).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_2)
doReturn(THRESHOLD_3).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_3)
doReturn(THRESHOLD_4).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_4)
}
@Test
fun testGetEnrollStageThreshold() {
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 0)).isEqualTo(0f)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 1)).isEqualTo(0.36f)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 2)).isEqualTo(0.52f)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 3)).isEqualTo(0.76f)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, 4)).isEqualTo(1f)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_0))
.isEqualTo(THRESHOLD_0)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_1))
.isEqualTo(THRESHOLD_1)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_2))
.isEqualTo(THRESHOLD_2)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_3))
.isEqualTo(THRESHOLD_3)
assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_4))
.isEqualTo(THRESHOLD_4)
}
@Test
fun testGetHelpAnimator() {
val mockView: View = mock(View::class.java)
val animator: Animator = mSfpsEnrollmentFeatureImpl.getHelpAnimator(mockView)
assertThat(animator.duration).isEqualTo(550)
assertThat(animator.duration).isEqualTo(SfpsEnrollmentFeatureImpl.HELP_ANIMATOR_DURATION)
}
@Test
@@ -115,42 +126,27 @@ class SfpsEnrollmentFeatureImplTest {
assertThat(
mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_NO_ANIMATION)
).isEqualTo(
settingsContext.resources.getIdentifier(
"security_settings_fingerprint_enroll_repeat_title",
type,
settingsPackageName)
getSettingsResourcesId(type, "security_settings_fingerprint_enroll_repeat_title")
)
assertThat(
mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_CENTER)
).isEqualTo(
settingsContext.resources.getIdentifier(
"security_settings_sfps_enroll_finger_center_title",
type,
settingsPackageName)
getSettingsResourcesId(type, "security_settings_sfps_enroll_finger_center_title")
)
assertThat(
mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_FINGERTIP)
).isEqualTo(
settingsContext.resources.getIdentifier(
"security_settings_sfps_enroll_fingertip_title",
type,
settingsPackageName)
getSettingsResourcesId(type, "security_settings_sfps_enroll_fingertip_title")
)
assertThat(
mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_LEFT_EDGE)
).isEqualTo(
settingsContext.resources.getIdentifier(
"security_settings_sfps_enroll_left_edge_title",
type,
settingsPackageName)
getSettingsResourcesId(type, "security_settings_sfps_enroll_left_edge_title")
)
assertThat(
mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_RIGHT_EDGE)
).isEqualTo(
settingsContext.resources.getIdentifier(
"security_settings_sfps_enroll_right_edge_title",
type,
settingsPackageName)
getSettingsResourcesId(type, "security_settings_sfps_enroll_right_edge_title")
)
}
@@ -159,43 +155,22 @@ class SfpsEnrollmentFeatureImplTest {
val type = "raw"
assertThat(
mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_NO_ANIMATION)
).isEqualTo(
settingsContext.resources.getIdentifier(
"sfps_lottie_no_animation",
type,
settingsPackageName)
)
).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_no_animation"))
assertThat(
mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_CENTER)
).isEqualTo(
settingsContext.resources.getIdentifier(
"sfps_lottie_pad_center",
type,
settingsPackageName)
)
).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_pad_center"))
assertThat(
mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_FINGERTIP)
).isEqualTo(
settingsContext.resources.getIdentifier(
"sfps_lottie_tip",
type,
settingsPackageName)
)
).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_tip"))
assertThat(
mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_LEFT_EDGE)
).isEqualTo(
settingsContext.resources.getIdentifier(
"sfps_lottie_left_edge",
type,
settingsPackageName)
)
).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_left_edge"))
assertThat(
mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_RIGHT_EDGE)
).isEqualTo(
settingsContext.resources.getIdentifier(
"sfps_lottie_right_edge",
type,
settingsPackageName)
)
).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_right_edge"))
}
private fun getSettingsResourcesId(type: String, name: String) : Int {
return context.resources.getIdentifier(name, type, context.packageName)
}
}