dmcg / minutest

Simple, Expressive, Extensible Testing for Kotlin on the JVM
Apache License 2.0
102 stars 11 forks source link

Disallow duplicate names within the same context #20

Open npryce opened 5 years ago

npryce commented 5 years ago

Either tests with the same name, subcontexts with the same name, or a test with the same name as a subcontext.

    @org.junit.jupiter.api.Test
    fun `names are unique within a context`() {
        assertFailsWith<IllegalArgumentException>("tests") {
            rootContext<Unit> {
                test("nameclash") {}
                test("nameclash") {}
            }.buildNode()
        }
        assertFailsWith<IllegalArgumentException>("contexts") {
            rootContext<Unit> {
                context("nameclash") {}
                context("nameclash") {}
            }.buildNode()
        }
        assertFailsWith<IllegalArgumentException>("context and test") {
            rootContext<Unit> {
                context("nameclash") {}
                test("nameclash") {}
            }.buildNode()
        }
    }