Make samples actually integration tests

This commit is contained in:
Brian Norman
2021-03-14 16:23:15 -05:00
parent f6fe899c77
commit d7d87a373d
6 changed files with 128 additions and 15 deletions
+1 -1
View File
@@ -17,4 +17,4 @@ jobs:
java-version: 1.8
- run: ./gradlew build
- run: cd sample && ./gradlew build browserDistribution || cd ..
- run: cd sample && ./gradlew build
@@ -18,9 +18,10 @@ package com.bnorm.power
data class Person(
val firstName: String,
val lastName: String
val lastName: String,
) {
companion object {
val UNKNOWN = listOf(Person("John", "Doe"), Person("Jane", "Doe"))
override fun toString() = "Person.Companion"
}
}
@@ -17,17 +17,44 @@
package com.bnorm.power
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
class PowerAssertTest {
@Test
fun assertTrue() {
assertTrue(Person.UNKNOWN.size == 1)
val error = assertFailsWith<AssertionError> { assertTrue(Person.UNKNOWN.size == 1) }
assertEquals(
actual = error.message,
expected = """
Assertion failed
assertTrue(Person.UNKNOWN.size == 1)
| | | |
| | | false
| | 2
| [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
Person.Companion
""".trimIndent()
)
}
@Test
fun require() {
require(Person.UNKNOWN.size == 1)
val error = assertFailsWith<IllegalArgumentException> { require(Person.UNKNOWN.size == 1) }
assertEquals(
actual = error.message,
expected = """
Assertion failed
require(Person.UNKNOWN.size == 1)
| | | |
| | | false
| | 2
| [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
Person.Companion
""".trimIndent()
)
}
@Test
@@ -36,15 +63,52 @@ class PowerAssertTest {
assert(unknown != null)
assert(unknown.size == 2)
val jane: Person
val john: Person
assertSoftly {
jane = unknown[0]
assert(jane.firstName == "Jane")
assert(jane.lastName == "Doe") { "bad jane last name" }
val error = assertFailsWith<AssertionError> {
val jane: Person
val john: Person
assertSoftly {
jane = unknown[0]
assert(jane.firstName == "Jane")
assert(jane.lastName == "Doe") { "bad jane last name" }
john = unknown[1]
assert(john.lastName == "Doe" && john.firstName == "John") { "bad john" }
john = unknown[1]
assert(john.lastName == "Doe" && john.firstName == "John") { "bad john" }
}
}
assertEquals(
actual = error.message,
expected = """
Multiple failed assertions
""".trimIndent(),
)
assertEquals(
actual = error.suppressedExceptions.size,
expected = 2,
)
assertEquals(
actual = error.suppressedExceptions[0].message,
expected = """
Assertion failed
assert(jane.firstName == "Jane")
| | |
| | false
| John
Person(firstName=John, lastName=Doe)
""".trimIndent(),
)
assertEquals(
actual = error.suppressedExceptions[1].message,
expected = """
bad john
assert(john.lastName == "Doe" && john.firstName == "John") { "bad john" }
| | | | | |
| | | | | false
| | | | Jane
| | | Person(firstName=Jane, lastName=Doe)
| | true
| Doe
Person(firstName=Jane, lastName=Doe)
""".trimIndent(),
)
}
}
@@ -17,10 +17,26 @@
package com.bnorm.power
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
class JsPowerAssertTest {
@Test
fun assert() {
require(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
val error = assertFailsWith<IllegalArgumentException> {
require(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
}
assertEquals(
actual = error.message,
expected = """
unknown persons: [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
require(Person.UNKNOWN.size == 1) { "unknown persons: ${"$"}{Person.UNKNOWN}" }
| | | |
| | | false
| | 2
| [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
Person.Companion
""".trimIndent(),
)
}
}
@@ -17,10 +17,26 @@
package com.bnorm.power
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
class JvmPowerAssertTest {
@Test
fun assert() {
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
val error = assertFailsWith<AssertionError> {
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
}
assertEquals(
actual = error.message,
expected = """
unknown persons: [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${"$"}{Person.UNKNOWN}" }
| | | |
| | | false
| | 2
| [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
Person.Companion
""".trimIndent(),
)
}
}
@@ -17,10 +17,26 @@
package com.bnorm.power
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
class NativePowerAssertTest {
@Test
fun assert() {
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
val error = assertFailsWith<AssertionError> {
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${Person.UNKNOWN}" }
}
assertEquals(
actual = error.message,
expected = """
unknown persons: [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
assert(Person.UNKNOWN.size == 1) { "unknown persons: ${"$"}{Person.UNKNOWN}" }
| | | |
| | | false
| | 2
| [Person(firstName=John, lastName=Doe), Person(firstName=Jane, lastName=Doe)]
Person.Companion
""".trimIndent(),
)
}
}