• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.airbnb.lottie.compose
2 
3 import com.airbnb.lottie.LottieComposition
4 import com.airbnb.lottie.LottieCompositionFactory
5 import org.junit.Assert.*
6 import org.junit.Before
7 import org.junit.Test
8 import org.junit.runner.RunWith
9 import org.robolectric.RobolectricTestRunner
10 
11 @RunWith(RobolectricTestRunner::class)
12 class LottieCompositionResultImplTest {
13 
14     private lateinit var composition: LottieComposition
15 
16     @Before
setupnull17     fun setup() {
18         composition = LottieCompositionFactory.fromJsonStringSync(CompositionFixtures.Rect, null).value!!
19     }
20 
21     @Test
testLoadingnull22     fun testLoading() {
23         val result = LottieCompositionResultImpl()
24         assertTrue(result.isLoading)
25     }
26 
27     @Test
testFailnull28     fun testFail() {
29         val result = LottieCompositionResultImpl()
30         val e = IllegalStateException("Fail")
31         result.completeExceptionally(e)
32         assertFalse(result.isSuccess)
33         assertTrue(result.isFailure)
34         assertNull(result.value)
35         assertEquals(e, result.error)
36     }
37 
38     @Test
testCompletednull39     fun testCompleted() {
40         val result = LottieCompositionResultImpl()
41         result.complete(composition)
42         assertFalse(result.isFailure)
43         assertTrue(result.isSuccess)
44         assertEquals(composition, result.value)
45     }
46 
47     @Test
testCompletedThenFailnull48     fun testCompletedThenFail() {
49         val result = LottieCompositionResultImpl()
50         result.complete(composition)
51         result.completeExceptionally(IllegalStateException("Fail"))
52         assertFalse(result.isFailure)
53         assertTrue(result.isSuccess)
54         assertEquals(composition, result.value)
55     }
56 
57     @Test
testErrorThenCompletednull58     fun testErrorThenCompleted() {
59         val result = LottieCompositionResultImpl()
60         val e = IllegalStateException("Fail")
61         result.completeExceptionally(e)
62         result.complete(composition)
63         assertFalse(result.isSuccess)
64         assertTrue(result.isFailure)
65         assertNull(result.value)
66         assertEquals(e, result.error)
67     }
68 }