Skip to content

Commit 5713982

Browse files
authored
Generate sets as LinkedHashSet (#85)
Fixes #84
1 parent 2cb339e commit 5713982

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

fixture/src/main/kotlin/com/appmattus/kotlinfixture/resolver/IterableKTypeResolver.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ internal class IterableKTypeResolver : Resolver {
6666
return Unresolved.Unhandled
6767
}
6868

69-
private fun Context.populateCollection(obj: KType, collection: MutableCollection<Any?>): Any? {
69+
private fun Context.populateCollection(obj: KType, collection: MutableCollection<Any?>): Any {
7070
val argType = obj.arguments.first().type!!
7171

7272
repeat(configuration.repeatCount()) {
@@ -106,12 +106,12 @@ internal class IterableKTypeResolver : Resolver {
106106
AbstractQueue::class,
107107
PriorityQueue::class -> PriorityQueue()
108108

109-
java.util.AbstractSet::class,
110-
Set::class,
111109
SortedSet::class,
112110
NavigableSet::class,
113111
TreeSet::class -> TreeSet()
114112

113+
java.util.AbstractSet::class,
114+
Set::class,
115115
HashSet::class,
116116
LinkedHashSet::class -> LinkedHashSet()
117117

fixture/src/test/kotlin/com/appmattus/kotlinfixture/FixtureInvokeTypeTest.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,19 @@ class FixtureInvokeTypeTest {
6464
assertEquals(String::class, it::class)
6565
}
6666
}
67+
68+
@Test
69+
fun `can create Set`() {
70+
val set = fixture<Set<A>>()
71+
72+
assertTrue(Set::class.isInstance(set))
73+
74+
set.forEach {
75+
assertEquals(A::class, it::class)
76+
}
77+
}
78+
79+
data class A(
80+
val string: String
81+
)
6782
}

0 commit comments

Comments
 (0)