I'm trying to mock Cassandra ScalaGettableData
object using scalamock. I need to mock the following method:
def getMap[K : TypeConverter, V : TypeConverter](name: String) = get[Map[K, V]](name)
TypeConverter
is a Trait
and has implicit implementations such as:
implicit object StringConverter extends TypeConverter[String]
In my code I'm calling
scalaGettableData.getMap[String, String]("myMap")
and I guess it's implicitly converted to
scalaGettableData.getMap[StringConverter, StringConverter]("myMap")
My Test code is as following :
val cassandraRow1 = mock[ScalaGettableData]
(cassandraRow1.getMap[String, String] _).expects("localizations_config").returning(Map("key1" -> "value1"))`
But I'm getting compilation error:
Error:(28, 26) _ must follow method; cannot follow (name: String)(implicit evidence$3: com.datastax.spark.connector.types.TypeConverter[String], implicit evidence$4: com.datastax.spark.connector.types.TypeConverter[String])Map[String,String] <and> (index: Int)(implicit evidence$3: com.datastax.spark.connector.types.TypeConverter[String], implicit evidence$4: com.datastax.spark.connector.types.TypeConverter[String])Map[String,String]
How am I supposed to mock this method ?