1
exercism fetch kotlin bracket-push

src/test/kotlin/BracketPushTest.kt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

import org.junit.Test
import org.junit.Ignore
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import kotlin.test.assertEquals

@RunWith(Parameterized::class)
class BracketPushTest(val input: String, val expectedOutput: Boolean) {

    companion object {
        @JvmStatic
        @Parameterized.Parameters(name = "{index}: bracket({0})={1}")
        fun data() = listOf(
                arrayOf("[]", true),
                arrayOf("", true),
                arrayOf("[[", false),
                arrayOf("}{", false),
                arrayOf("{]", false),
                arrayOf("{ }", true),
                arrayOf("{[]}", true),
                arrayOf("{}[]", true),
                arrayOf("([{}({}[])])", true),
                arrayOf("{[)][]}", false),
                arrayOf("([{])", false),
                arrayOf("[({]})", false),
                arrayOf("(((185 + 223.85) * 15) - 543)/2", true),
                arrayOf("\\\\left(\\\\begin{array}{cc} \\\\frac{1}{3} & x\\\\\\\\ \\\\mathrm{e}^{x} &... x^2 \\\\end{array}\\\\right)", true)
        )
    }

    @Test
    fun test() {
        assertEquals(expectedOutput, BracketPush.isValid(input))
    }

}