Skip to content

Commit 8742bdf

Browse files
committed
Commonize new tests
1 parent 7fb7803 commit 8742bdf

5 files changed

Lines changed: 105 additions & 95 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.livefront.sealedenum.compilation.usecases
2+
3+
import kotlin.test.Test
4+
import kotlin.test.assertEquals
5+
6+
class FlagTests {
7+
@Test
8+
fun two_objects_sealed_class() {
9+
assertEquals(
10+
listOf(Flag.FirstFlag, Flag.SecondFlag),
11+
FlagSealedEnum.values
12+
)
13+
}
14+
15+
@Test
16+
fun two_enums_for_sealed_class() {
17+
assertEquals(
18+
listOf(
19+
FlagEnum.Flag_FirstFlag,
20+
FlagEnum.Flag_SecondFlag
21+
),
22+
enumValues<FlagEnum>().toList()
23+
)
24+
}
25+
26+
@Test
27+
fun two_enums_for_sealed_class_with_mapping() {
28+
assertEquals(
29+
Flag.values.map(Flag::enum),
30+
enumValues<FlagEnum>().toList()
31+
)
32+
}
33+
34+
@Test
35+
fun correct_enum_class() {
36+
assertEquals(FlagEnum::class, FlagSealedEnum.enumClass)
37+
}
38+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.livefront.sealedenum.compilation.usecases
2+
3+
import kotlin.test.Test
4+
import kotlin.test.assertEquals
5+
6+
class MultiInterfaceFlagTests {
7+
@Test
8+
fun three_objects_sealed_interface() {
9+
assertEquals(
10+
listOf(MultiInterfaceFlag.BothFlags, MultiInterfaceFlag.FirstFlag, MultiInterfaceFlag.SecondFlag),
11+
MultiInterfaceFlag.values
12+
)
13+
}
14+
15+
@Test
16+
fun three_enums_for_sealed_class() {
17+
assertEquals(
18+
listOf(
19+
MultiInterfaceFlagEnum.MultiInterfaceFlag_BothFlags,
20+
MultiInterfaceFlagEnum.MultiInterfaceFlag_FirstFlag,
21+
MultiInterfaceFlagEnum.MultiInterfaceFlag_SecondFlag
22+
),
23+
enumValues<MultiInterfaceFlagEnum>().toList()
24+
)
25+
}
26+
27+
@Test
28+
fun three_enums_for_sealed_interface_with_mapping() {
29+
assertEquals(
30+
MultiInterfaceFlag.values.map(MultiInterfaceFlag::enum),
31+
enumValues<MultiInterfaceFlagEnum>().toList()
32+
)
33+
}
34+
35+
@Test
36+
fun correct_enum_class() {
37+
assertEquals(MultiInterfaceFlagEnum::class, MultiInterfaceFlagSealedEnum.enumClass)
38+
}
39+
}

processing-tests/common/src/jvmTest/kotlin/com/livefront/sealedenum/compilation/usecases/FlagTests.kt renamed to processing-tests/common/src/jvmTest/kotlin/com/livefront/sealedenum/compilation/usecases/FlagCompilationTests.kt

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,42 +6,9 @@ import com.livefront.sealedenum.testing.assertCompiles
66
import com.livefront.sealedenum.testing.assertGeneratedFileMatches
77
import com.livefront.sealedenum.testing.compile
88
import com.livefront.sealedenum.testing.getSourceFile
9-
import org.junit.jupiter.api.Assertions.assertEquals
109
import org.junit.jupiter.api.Test
1110

12-
class FlagTests {
13-
@Test
14-
fun `two objects sealed class`() {
15-
assertEquals(
16-
listOf(Flag.FirstFlag, Flag.SecondFlag),
17-
FlagSealedEnum.values
18-
)
19-
}
20-
21-
@Test
22-
fun `two enums for sealed class`() {
23-
assertEquals(
24-
listOf(
25-
FlagEnum.Flag_FirstFlag,
26-
FlagEnum.Flag_SecondFlag
27-
),
28-
enumValues<FlagEnum>().toList()
29-
)
30-
}
31-
32-
@Test
33-
fun `two enums for sealed class with mapping`() {
34-
assertEquals(
35-
Flag.values.map(Flag::enum),
36-
enumValues<FlagEnum>().toList()
37-
)
38-
}
39-
40-
@Test
41-
fun `correct enum class`() {
42-
assertEquals(FlagEnum::class, FlagSealedEnum.enumClass)
43-
}
44-
11+
class FlagCompilationTests {
4512
@Test
4613
fun `compilation generates correct code`() {
4714
val result = compile(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.livefront.sealedenum.compilation.usecases
2+
3+
import com.livefront.sealedenum.testing.PlatformSourceType
4+
import com.livefront.sealedenum.testing.SharableProcessingSourceType
5+
import com.livefront.sealedenum.testing.assertCompiles
6+
import com.livefront.sealedenum.testing.assertGeneratedFileMatches
7+
import com.livefront.sealedenum.testing.compile
8+
import com.livefront.sealedenum.testing.getSourceFile
9+
import org.junit.jupiter.api.Test
10+
11+
class MultiInterfaceFlagCompilationTests {
12+
@Test
13+
fun `compilation generates correct code`() {
14+
val result = compile(
15+
getSourceFile(
16+
SharableProcessingSourceType.COMMMON,
17+
PlatformSourceType.COMMON,
18+
"compilation",
19+
"usecases",
20+
"MultiInterfaceFlag.kt"
21+
)
22+
)
23+
24+
assertCompiles(result)
25+
assertGeneratedFileMatches("MultiInterfaceFlag_SealedEnum.kt", multiInterfaceFlagGenerated, result)
26+
}
27+
}

processing-tests/common/src/jvmTest/kotlin/com/livefront/sealedenum/compilation/usecases/MultiInterfaceFlagTests.kt

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)