Skip to content

Instantly share code, notes, and snippets.

@uzzu
Last active May 29, 2019 07:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uzzu/55bebcb600240e7407e561e45e162f99 to your computer and use it in GitHub Desktop.
Save uzzu/55bebcb600240e7407e561e45e162f99 to your computer and use it in GitHub Desktop.
class InvocationRecorder0 {
inner class Arguments
inner class Verifier {
fun called() = count() >= 1
fun neverCalled() = count() <= 0
fun count() = arguments.size
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record() {
arguments.add(Arguments())
}
}
class InvocationRecorder1<T0> {
inner class Arguments(
val arg0: T0
)
inner class Verifier {
fun called(predicate: ((T0) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0) {
arguments.add(Arguments(arg0))
}
}
class InvocationRecorder2<T0, T1> {
inner class Arguments(
val arg0: T0,
val arg1: T1
)
inner class Verifier {
fun called(predicate: ((T0, T1) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1) {
arguments.add(Arguments(arg0, arg1))
}
}
class InvocationRecorder3<T0, T1, T2> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2) {
arguments.add(Arguments(arg0, arg1, arg2))
}
}
class InvocationRecorder4<T0, T1, T2, T3> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2,
val arg3: T3
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2, T3) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2, T3) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2, T3) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2, it.arg3) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2, arg3: T3) {
arguments.add(Arguments(arg0, arg1, arg2, arg3))
}
}
class InvocationRecorder5<T0, T1, T2, T3, T4> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2,
val arg3: T3,
val arg4: T4
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2, T3, T4) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2, T3, T4) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2, T3, T4) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2, it.arg3, it.arg4) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4) {
arguments.add(Arguments(arg0, arg1, arg2, arg3, arg4))
}
}
class InvocationRecorder6<T0, T1, T2, T3, T4, T5> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2,
val arg3: T3,
val arg4: T4,
val arg5: T5
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2, T3, T4, T5) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2, T3, T4, T5) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2, T3, T4, T5) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2, it.arg3, it.arg4, it.arg5) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) {
arguments.add(Arguments(arg0, arg1, arg2, arg3, arg4, arg5))
}
}
class InvocationRecorder7<T0, T1, T2, T3, T4, T5, T6> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2,
val arg3: T3,
val arg4: T4,
val arg5: T5,
val arg6: T6
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2, T3, T4, T5, T6) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2, T3, T4, T5, T6) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2, T3, T4, T5, T6) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2, it.arg3, it.arg4, it.arg5, it.arg6) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) {
arguments.add(Arguments(arg0, arg1, arg2, arg3, arg4, arg5, arg6))
}
}
class InvocationRecorder8<T0, T1, T2, T3, T4, T5, T6, T7> {
inner class Arguments(
val arg0: T0,
val arg1: T1,
val arg2: T2,
val arg3: T3,
val arg4: T4,
val arg5: T5,
val arg6: T6,
val arg7: T7
)
inner class Verifier {
fun called(predicate: ((T0, T1, T2, T3, T4, T5, T6, T7) -> Boolean)? = null) = count(predicate) >= 1
fun neverCalled(predicate: ((T0, T1, T2, T3, T4, T5, T6, T7) -> Boolean)? = null) = count(predicate) <= 0
fun count(predicate: ((T0, T1, T2, T3, T4, T5, T6, T7) -> Boolean)? = null) =
arguments.count {
predicate?.invoke(it.arg0, it.arg1, it.arg2, it.arg3, it.arg4, it.arg5, it.arg6, it.arg7) ?: true
}
fun argumentsAt(index: Int) = arguments[index]
}
val verifier = Verifier()
private var arguments = mutableListOf<Arguments>()
fun record(arg0: T0, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, arg7: T7) {
arguments.add(Arguments(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment