[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 테스트 코드를 간결하게 작성하는 방법
코틀린은 람다식과 고차 함수를 활용하여 테스트 코드를 간결하고 가독성 있게 작성할 수 있습니다. 이번에는 람다식과 고차 함수를 사용하여 코틀린 테스트 코드를 작성하는 방법에 대해 알아보겠습니다.
람다식 (Lambda Expression)
람다식은 익명 함수를 만들기 위한 간단한 문법으로, 함수의 인자로 전달하거나 함수의 반환 값으로 사용할 수 있습니다.
val sum: (Int, Int) -> Int = { x, y -> x + y }
val result = sum(3, 5) // 결과: 8
위 예제에서 sum
은 (Int, Int) -> Int
타입의 람다식으로, 두 개의 정수를 입력받아 정수를 반환합니다.
고차 함수 (Higher-Order Function)
고차 함수는 함수를 인자로 받거나 함수를 반환하는 함수입니다. 고차 함수를 사용하면 코드를 재사용하고 더 모듈화할 수 있습니다.
fun operation(x: Int, y: Int, op: (Int, Int) -> Int): Int {
return op(x, y)
}
val result1 = operation(10, 5, { x, y -> x + y }) // 결과: 15
val result2 = operation(20, 7, { x, y -> x * y }) // 결과: 140
위 예제에서 operation
함수는 op
라는 고차 함수를 인자로 받아서 실행합니다.
테스트 코드 작성
이제 람다식과 고차 함수를 사용하여 간단한 테스트 코드를 작성해보겠습니다.
fun main() {
val testCalculator = TestCalculator()
testCalculator.testAddition()
testCalculator.testSubtraction()
}
class TestCalculator {
fun testAddition() {
val calculator = Calculator()
val result = calculator.calculate(3, 5, { x, y -> x + y })
assert(result == 8)
}
fun testSubtraction() {
val calculator = Calculator()
val result = calculator.calculate(10, 4, { x, y -> x - y })
assert(result == 6)
}
}
class Calculator {
fun calculate(x: Int, y: Int, op: (Int, Int) -> Int): Int {
return op(x, y)
}
}
위의 예제에서 TestCalculator
클래스는 Calculator
클래스의 calculate
메서드를 람다식을 활용하여 테스트하는 예제입니다.
람다식을 사용하면 테스트 코드를 간결하게 작성할 수 있으며, 고차 함수를 활용하여 테스트 대상을 유연하게 변경할 수 있습니다.
이상으로 코틀린에서 람다식과 고차 함수를 사용하여 테스트 코드를 간결하게 작성하는 방법에 대해 알아보았습니다.