Skip to content

Instantly share code, notes, and snippets.

@realbot
Created May 4, 2011 09:26
Show Gist options
  • Save realbot/954990 to your computer and use it in GitHub Desktop.
Save realbot/954990 to your computer and use it in GitHub Desktop.
// Java library
public final class SomeObjectFactory {
public SomeObject getInstance(String someParam) { ... }
}
// Scala client
class SomeClientClass(sof: SomeObjectFactory) {
def foo(param: String) {
val someObj = sof.getInstance(param)
}
}
object SomeClientClass {
type SomeObjectFactory = { def getInstance(someParam: String): SomeObject }
}
class SomeClientClass(sof: SomeClientClass.SomeObjectFactory) {
def foo(param: String) {
val someObj = sof.getInstance(param)
}
}
trait FakeSomeObjectFactory {
def getInstance(someParam: String): SomeObject
}
class TestSomeClientClass extends Specification with Mockito {
private val mockFactory = mock[FakeSomeObjectFactory]
mockFactory.getInstance("some param") returns ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment