// build.gradle.kts:
// testImplementation(kotlin("test"))
import kotlin.test.*
class Calculator {
fun add(a: Int, b: Int) = a + b
fun divide(a: Int, b: Int): Int {
require(b != 0) { "divide by zero" }
return a / b
}
}
class CalculatorTest {
private val calc = Calculator()
@Test
fun adds_two_positive_numbers() {
assertEquals(5, calc.add(2, 3))
}
@Test
fun throws_on_divide_by_zero() {
val ex = assertFailsWith<IllegalArgumentException> {
calc.divide(10, 0)
}
assertEquals("divide by zero", ex.message)
}
@Test
fun assertions_we_use_often() {
assertEquals(4, calc.add(2, 2))
assertNotEquals(0, calc.add(1, 1))
assertTrue(calc.add(1, 1) > 0)
assertFalse(calc.add(0, 0) > 0)
assertNull(emptyList<Int>().firstOrNull())
assertNotNull(calc.divide(10, 2))
}
}
Create a free account and build your private vault. Share publicly whenever you want.