I'm trying to test Room Database by following this tutorial But instead I got this error Currently I'm new testing the Android device.
Error message:
C:\Users\edita\AndroidStudioProjects\PlantManagement\app\src\androidTest\java\com\example\plantmanagement\DatabaseTest.kt: (58, 27): Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public inline operator fun <T : Any, R : Iterable<TypeVariable(T)>> TypeVariable(R).contains(element: TypeVariable(T)?): Boolean where R : ClosedRange<TypeVariable(T)> defined in kotlin.ranges
public operator fun <T> Array<out TypeVariable(T)>.contains(element: TypeVariable(T)): Boolean defined in kotlin.collections
public operator fun BooleanArray.contains(element: Boolean): Boolean defined in kotlin.collections
public operator fun ByteArray.contains(element: Byte): Boolean defined in kotlin.collections
public operator fun CharArray.contains(element: Char): Boolean defined in kotlin.collections
public operator fun CharSequence.contains(char: Char, ignoreCase: Boolean = ...): Boolean defined in kotlin.text
public operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boolean = ...): Boolean defined in kotlin.text
public inline operator fun CharSequence.contains(regex: Regex): Boolean defined in kotlin.text
public operator fun DoubleArray.contains(element: Double): Boolean defined in kotlin.collections
public operator fun FloatArray.contains(element: Float): Boolean defined in kotlin.collections
public operator fun IntArray.contains(element: Int): Boolean defined in kotlin.collections
public operator fun LongArray.contains(element: Long): Boolean defined in kotlin.collections
public operator fun ShortArray.contains(element: Short): Boolean defined in kotlin.collections
public operator fun <T> Iterable<TypeVariable(T)>.contains(element: TypeVariable(T)): Boolean defined in kotlin.collections
public inline operator fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.contains(key: TypeVariable(K)): Boolean defined in kotlin.collections
public inline operator fun CharRange.contains(element: Char?): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Byte>.contains(value: Double): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Byte>.contains(value: Float): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Byte>.contains(value: Int): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Byte>.contains(value: Long): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Byte>.contains(value: Short): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Double>.contains(value: Byte): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Double>.contains(value: Float): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Double>.contains(value: Int): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Double>.contains(value: Long): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Double>.contains(value: Short): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Float>.contains(value: Byte): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Float>.contains(value: Double): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Float>.contains(value: Int): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Float>.contains(value: Long): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Float>.contains(value: Short): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Int>.contains(value: Byte): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Int>.contains(value: Double): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Int>.contains(value: Float): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Int>.contains(value: Long): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Int>.contains(value: Short): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Long>.contains(value: Byte): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Long>.contains(value: Double): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Long>.contains(value: Float): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Long>.contains(value: Int): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Long>.contains(value: Short): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Short>.contains(value: Byte): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Short>.contains(value: Double): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Short>.contains(value: Float): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Short>.contains(value: Int): Boolean defined in kotlin.ranges
public operator fun ClosedRange<Short>.contains(value: Long): Boolean defined in kotlin.ranges
public inline operator fun IntRange.contains(element: Int?): Boolean defined in kotlin.ranges
public inline operator fun LongRange.contains(element: Long?): Boolean defined in kotlin.ranges
public operator fun UIntRange.contains(value: UByte): Boolean defined in kotlin.ranges
public inline operator fun UIntRange.contains(element: UInt?): Boolean defined in kotlin.ranges
public operator fun UIntRange.contains(value: ULong): Boolean defined in kotlin.ranges
public operator fun UIntRange.contains(value: UShort): Boolean defined in kotlin.ranges
public operator fun ULongRange.contains(value: UByte): Boolean defined in kotlin.ranges
public operator fun ULongRange.contains(value: UInt): Boolean defined in kotlin.ranges
public inline operator fun ULongRange.contains(element: ULong?): Boolean defined in kotlin.ranges
public operator fun ULongRange.contains(value: UShort): Boolean defined in kotlin.ranges
public operator fun <T> Sequence<TypeVariable(T)>.contains(element: TypeVariable(T)): Boolean defined in kotlin.sequences
@Test
fun WriteAndReadPlant()=runBlocking(){
val imageUrl = URL(url)
var options: BitmapFactory.Options? = null
options = BitmapFactory.Options()
options.inSampleSize = 3
val bitmap = BitmapFactory.decodeFile(imageUrl.toString(),
options)
val stream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.PNG, 50, stream)
val byte_arr: ByteArray = stream.toByteArray()
val plant = Plant(Math.random().toLong(),"Vera",byte_arr,"Aloe","2 times a week ,Water more in summer","Is not safe to digest for pets")
dao.insertPlant(plant);
val plants =dao.getAll()
assertThat(plants.contains(plant)).isTrue() // This line contains error
}
Is there a change that it's just doesn't enjoy testing the Flow type list? If that the case how would I need to test a list that is a Flow?
I will be grateful for your help!