import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Test import org.junit.jupiter.api.function.Executable private class IPAddressConstructor(private val address: String) : Executable { override fun execute() { IPAddress(this.address) } } class IPAddressTest { @Test fun testAddressVersion4() { val testAddressesCorrect = listOf( "10.255.0.1", "0011:2233:4455:6677:8899:aabb:ccdd:eeff", "aabb::", ) val testAddressesWrong = listOf( "999.888.777.666", "ghil:mnop:qrst:uvwx:yz99:8877:6655:4433", "aaabbb::", "aa::", "gg::", ) // assert correct assertAll(testAddressesCorrect.map { IPAddressConstructor(it) }) // assert wrong for (address in testAddressesWrong) { assertThrowsExactly(NumberFormatException().javaClass, IPAddressConstructor(address)) } } }