/
AllergenTest.kt
73 lines (66 loc) 路 1.82 KB
/
AllergenTest.kt
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
65
66
67
68
69
70
71
72
73
package openfoodfacts.github.scrachx.openfood.models.entities.allergen
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
import java.io.IOException
class AllergenTest {
lateinit var allergens: List<Allergen>
@Before
@Throws(IOException::class)
fun setUp() {
//language=JSON
val json = """{
"en:lupin": {
"name": {
"es": "Altramuces",
"nl": "Lupine",
"et": "Lupiin",
"de": "Lupinen",
"fi": "Lupiinit",
"sv": "Lupin",
"lt": "Lubinai",
"mt": "Lupina",
"da": "Lupin"
}
},
"en:molluscs": {
"name": {
"it": "Molluschi",
"fr": "Mollusques",
"lv": "Gliemji",
"pt": "Moluscos",
"nl": "Weekdieren",
"et": "Molluskid",
"de": "Weichtiere",
"es": "Moluscos",
"ga": "Moilisc",
"mt": "Molluski",
"lt": "Moliuskai",
"en": "Molluscs"
}
}
}"""
allergens = jacksonObjectMapper().readValue<AllergensWrapper>(json).map()
}
@Test
fun deserialization_success() {
assertThat(allergens).hasSize(2)
}
@Test
fun allergensWrapper_AllergenAreCorrectlyTagged() {
val allergen = allergens[0]
assertThat(allergen.tag).isEqualTo("en:lupin")
assertThat(allergen.enabled).isFalse()
assertThat(allergen.names).hasSize(9)
}
@Test
fun allergensWrapper_SubElementsAreCorrectlyTagged() {
val allergen = allergens[0]
val allergenName = allergen.names[0]
assertThat(allergenName.allergenTag).isEqualTo(allergen.tag)
assertThat(allergenName.languageCode).isEqualTo("es")
assertThat(allergenName.name).isEqualTo("Altramuces")
}
}