39 lines
1.2 KiB
Kotlin
39 lines
1.2 KiB
Kotlin
package solutions.bitbadger.documents
|
|
|
|
import org.junit.jupiter.api.DisplayName
|
|
import org.junit.jupiter.api.assertThrows
|
|
import kotlin.test.Test
|
|
import kotlin.test.assertEquals
|
|
import kotlin.test.assertNull
|
|
|
|
/**
|
|
* Unit tests for the `Parameter` class
|
|
*/
|
|
@DisplayName("Kotlin | Parameter")
|
|
class ParameterTest {
|
|
|
|
@Test
|
|
@DisplayName("Construction with colon-prefixed name")
|
|
fun ctorWithColon() {
|
|
val p = Parameter(":test", ParameterType.STRING, "ABC")
|
|
assertEquals(":test", p.name, "Parameter name was incorrect")
|
|
assertEquals(ParameterType.STRING, p.type, "Parameter type was incorrect")
|
|
assertEquals("ABC", p.value, "Parameter value was incorrect")
|
|
}
|
|
|
|
@Test
|
|
@DisplayName("Construction with at-sign-prefixed name")
|
|
fun ctorWithAtSign() {
|
|
val p = Parameter("@yo", ParameterType.NUMBER, null)
|
|
assertEquals("@yo", p.name, "Parameter name was incorrect")
|
|
assertEquals(ParameterType.NUMBER, p.type, "Parameter type was incorrect")
|
|
assertNull(p.value, "Parameter value was incorrect")
|
|
}
|
|
|
|
@Test
|
|
@DisplayName("Construction fails with incorrect prefix")
|
|
fun ctorFailsForPrefix() {
|
|
assertThrows<DocumentException> { Parameter("it", ParameterType.JSON, "") }
|
|
}
|
|
}
|