diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/IdUtil.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/IdUtil.kt index ec03e8995c..b1d7d9e710 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/IdUtil.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/IdUtil.kt @@ -301,6 +301,7 @@ val atomicIntegerGetAndIncrement = MethodId(atomicIntegerClassId, "getAndIncreme val iterableClassId = java.lang.Iterable::class.id val mapClassId = java.util.Map::class.id +val collectionClassId = java.util.Collection::class.id val baseStreamClassId = java.util.stream.BaseStream::class.id val streamClassId = java.util.stream.Stream::class.id @@ -405,6 +406,12 @@ val ClassId.isMap: Boolean val ClassId.isIterableOrMap: Boolean get() = isIterable || isMap +val ClassId.isCollection: Boolean + get() = isSubtypeOf(collectionClassId) + +val ClassId.isCollectionOrMap: Boolean + get() = isCollection || isMap + val ClassId.isEnum: Boolean get() = jClass.isEnum diff --git a/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt b/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt index 87fc8a61c3..c5309c3694 100644 --- a/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt +++ b/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt @@ -107,14 +107,10 @@ class MapValueProvider( class ListSetValueProvider( idGenerator: IdGenerator -) : CollectionValueProvider(idGenerator, java.lang.Iterable::class.id) { +) : CollectionValueProvider(idGenerator, java.util.Collection::class.id) { override fun resolveType(description: FuzzedDescription, type: FuzzedType) = sequence { val generic = type.generics.firstOrNull() ?: FuzzedType(objectClassId) when (type.classId) { - java.lang.Iterable::class.id -> { - yield(FuzzedType(java.util.ArrayList::class.id, listOf(generic))) - yield(FuzzedType(java.util.HashSet::class.id, listOf(generic))) - } java.util.Queue::class.id, java.util.Deque::class.id-> { yield(FuzzedType(java.util.ArrayDeque::class.id, listOf(generic))) diff --git a/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt b/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt index 0b35d166e2..4723c0ddc9 100644 --- a/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt +++ b/utbot-fuzzers/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt @@ -97,7 +97,7 @@ class ObjectValueProvider( private fun isIgnored(type: ClassId): Boolean { return unwantedConstructorsClasses.contains(type) - || type.isIterableOrMap + || type.isCollectionOrMap || type.isPrimitiveWrapper || type.isEnum || type.isAbstract