summaryrefslogtreecommitdiff
path: root/animationlib/tests/src/com/android/app/animation/InterpolatorResourcesTest.kt
blob: f54493ec6be374a846e975def9792eabda18e0d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.android.app.animation

import android.annotation.InterpolatorRes
import android.content.Context
import android.view.animation.AnimationUtils
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import junit.framework.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

@SmallTest
@RunWith(AndroidJUnit4::class)
class InterpolatorResourcesTest {

    private lateinit var context: Context

    @Before
    fun setup() {
        context = InstrumentationRegistry.getInstrumentation().targetContext
    }

    @Test
    fun testResourceInterpolatorsMatchCodeInterpolators() {
        var progress = 0f
        while (progress < +1f) {
            assertEquals(
                InterpolatorsAndroidX.EMPHASIZED.getInterpolation(progress),
                loadInterpolator(R.interpolator.emphasized_interpolator).getInterpolation(progress)
            )
            assertEquals(
                InterpolatorsAndroidX.EMPHASIZED_ACCELERATE.getInterpolation(progress),
                loadInterpolator(R.interpolator.emphasized_accelerate_interpolator)
                    .getInterpolation(progress)
            )
            assertEquals(
                InterpolatorsAndroidX.EMPHASIZED_DECELERATE.getInterpolation(progress),
                loadInterpolator(R.interpolator.emphasized_decelerate_interpolator)
                    .getInterpolation(progress)
            )
            assertEquals(
                InterpolatorsAndroidX.STANDARD.getInterpolation(progress),
                loadInterpolator(R.interpolator.standard_interpolator).getInterpolation(progress)
            )
            assertEquals(
                InterpolatorsAndroidX.STANDARD_ACCELERATE.getInterpolation(progress),
                loadInterpolator(R.interpolator.standard_accelerate_interpolator)
                    .getInterpolation(progress)
            )
            assertEquals(
                InterpolatorsAndroidX.STANDARD_DECELERATE.getInterpolation(progress),
                loadInterpolator(R.interpolator.standard_decelerate_interpolator)
                    .getInterpolation(progress)
            )
            progress += 0.1f
        }
    }

    private fun loadInterpolator(@InterpolatorRes resourceInt: Int) =
        AnimationUtils.loadInterpolator(context, resourceInt)

}