Skip to content

Instantly share code, notes, and snippets.

describe("isPersonRetired") {
describe("when hasPersonWorked is true") {
beforeEachGroup {
person.copy(hasPersonWorked = true)
}
describe("when isActive is true") {...}
describe("when isActive is false") {...}
lateinit var person: Person
beforeEachGroup {
person = Person(
name = "name",
address = "address",
age = 60,
isActive = false,
// Add new argument
hasPersonWorked = false
data class Person(
val name: String,
val address: String,
val age: Int,
val isActive: Boolean,
val hasPersonWorked: Boolean
) {
fun isPersonRetired() =
hasPersonWorked && (!isActive || age > 60)
}
object PersonSpec : Spek({
lateinit var person: Person
beforeEachGroup {
person = Person(
name = "name",
address = "address",
age = 60,
isActive = false
describe("when isActive is false") {
beforeEachGroup {
person = person.copy(isActive = false)
}
...
describe("when getAge is less than RETIREMENT_AGE") {
beforeEachGroup {
person = person.copy(age = 55)
}
it("should return false") {
describe("isPersonRetired") {
describe("when isActive is true") {
beforeEachGroup {
person = person.copy(isActive = true)
}
describe("when getAge is greater than RETIREMENT_AGE") {
beforeEachGroup { person = person.copy(age = 65) }
}
describe("when getAge is less than RETIREMENT_AGE") {
beforeEachGroup { person = person.copy(age = 55) }
object PersonSpec : Spek({
})
lateinit var person: Person
beforeEachGroup {
person = Person(
name = "name",
address = "address",
age = 60,
isActive = false
)
}
private const val RETIREMENT_AGE = 60
data class Person(
val name: String,
val address: String,
val age: Int,
val isActive: Boolean
) {
fun isPersonRetired() =
!isActive || age > RETIREMENT_AGE
@Entity
data class Item {
@PrimaryKey
@Embedded ItemId id,
...
}
data class ItemId {
long categoryId,
int itemId