# Invert Values in Kotlin

## The challenge

Given a set of numbers, return the additive inverse of each. Each positive becomes negatives, and the negatives become positives.

``````invert([1,2,3,4,5]) == [-1,-2,-3,-4,-5]
invert([1,-2,3,-4,5]) == [-1,2,-3,4,-5]
invert([]) == []
``````

## The solution in Kotlin code

Option 1:

``````fun invert(arr: IntArray) = arr.map { -it }.toIntArray()
``````

Option 2:

``````fun invert(arr: IntArray): IntArray {
return IntArray(arr.size){ -arr[it] }
}
``````

Option 3:

``````fun invert(arr: IntArray): IntArray {
var x = 0
while (x < arr.size) {
arr[x] = arr[x] * -1
x++
}
return arr
}
``````

## Test cases to validate our solution

``````import org.junit.Assert.*;
import org.junit.Test

class TestExample {
@Test
fun testFixed() {
assertArrayEquals(intArrayOf(-1,-2,-3,-4,-5), invert(intArrayOf(1,2,3,4,5)))
assertArrayEquals(intArrayOf(-1,2,-3,4,-5), invert(intArrayOf(1,-2,3,-4,5)))
assertArrayEquals(intArrayOf(), invert(intArrayOf()))
assertArrayEquals(intArrayOf(0), invert(intArrayOf(0)))
}
}
``````