orangy
hhariri
kittinunf
06/03/2016, 7:51 AMmkobit
06/04/2016, 6:43 PMhhariri
raniejade
06/05/2016, 1:56 PMraniejade
06/05/2016, 2:01 PM1.0
, it's a path of least resistance/work 🙂.mkobit
06/05/2016, 10:05 PMhhariri
kirillrakhman
06/15/2016, 8:11 AMfun <T : Any> DescribeBody.subject(block: () -> T) = Resettable(block).apply {
beforeEach { reset() }
}
class Resettable<out T : Any>(private val init: () -> T) {
private lateinit var value: T
fun reset() {
value = init()
}
operator fun invoke() = value
}
kirillrakhman
06/15/2016, 8:12 AMdescribe("two subjects") {
val foo = subject { mutableListOf("foo") }
val bar = subject { mutableListOf(foo()) }
context("add to foo") {
beforeEach {
foo().add("foo2")
}
it("bar's single item should have two items") {
assertEquals(2, bar().single().size)
}
}
context("add to bar") {
beforeEach {
bar().add(mutableListOf("baz"))
}
it("foo should have one items") {
assertEquals(1, foo().size)
}
it("bar should have two items") {
assertEquals(2, bar().size)
}
}
}
raniejade
06/15/2016, 8:13 AMraniejade
06/15/2016, 8:14 AMkirillrakhman
06/15/2016, 8:18 AMraniejade
06/15/2016, 8:18 AMraniejade
06/15/2016, 8:30 AMkirillrakhman
06/15/2016, 8:30 AMraniejade
06/15/2016, 8:30 AMkirillrakhman
06/15/2016, 8:31 AMraniejade
06/15/2016, 8:32 AMkirillrakhman
06/15/2016, 8:32 AMraniejade
06/15/2016, 8:33 AMkirillrakhman
06/15/2016, 8:34 AMraniejade
06/15/2016, 8:35 AMkirillrakhman
06/15/2016, 8:56 AMraniejade
06/15/2016, 10:05 AMartem_zin
06/15/2016, 10:22 AMfoo()
in each test or double initialization written onceraniejade
06/17/2016, 12:43 AMcedric
06/17/2016, 1:50 AMsubject { Calculator() }
over val subject : Calculator get() = Calculator()
?raniejade
06/17/2016, 2:17 AM