Merge pull request #37 from bnorm/integration
Make samples actually integration tests
This commit is contained in:
@@ -17,4 +17,4 @@ jobs:
|
|||||||
java-version: 1.8
|
java-version: 1.8
|
||||||
|
|
||||||
- run: ./gradlew build
|
- 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(
|
data class Person(
|
||||||
val firstName: String,
|
val firstName: String,
|
||||||
val lastName: String
|
val lastName: String,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
val UNKNOWN = listOf(Person("John", "Doe"), Person("Jane", "Doe"))
|
val UNKNOWN = listOf(Person("John", "Doe"), Person("Jane", "Doe"))
|
||||||
|
override fun toString() = "Person.Companion"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,17 +17,44 @@
|
|||||||
package com.bnorm.power
|
package com.bnorm.power
|
||||||
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class PowerAssertTest {
|
class PowerAssertTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun assertTrue() {
|
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
|
@Test
|
||||||
fun require() {
|
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
|
@Test
|
||||||
@@ -36,15 +63,52 @@ class PowerAssertTest {
|
|||||||
assert(unknown != null)
|
assert(unknown != null)
|
||||||
assert(unknown.size == 2)
|
assert(unknown.size == 2)
|
||||||
|
|
||||||
val jane: Person
|
val error = assertFailsWith<AssertionError> {
|
||||||
val john: Person
|
val jane: Person
|
||||||
assertSoftly {
|
val john: Person
|
||||||
jane = unknown[0]
|
assertSoftly {
|
||||||
assert(jane.firstName == "Jane")
|
jane = unknown[0]
|
||||||
assert(jane.lastName == "Doe") { "bad jane last name" }
|
assert(jane.firstName == "Jane")
|
||||||
|
assert(jane.lastName == "Doe") { "bad jane last name" }
|
||||||
|
|
||||||
john = unknown[1]
|
john = unknown[1]
|
||||||
assert(john.lastName == "Doe" && john.firstName == "John") { "bad john" }
|
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
|
package com.bnorm.power
|
||||||
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
|
|
||||||
class JsPowerAssertTest {
|
class JsPowerAssertTest {
|
||||||
@Test
|
@Test
|
||||||
fun assert() {
|
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
|
package com.bnorm.power
|
||||||
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
|
|
||||||
class JvmPowerAssertTest {
|
class JvmPowerAssertTest {
|
||||||
@Test
|
@Test
|
||||||
fun assert() {
|
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
|
package com.bnorm.power
|
||||||
|
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
|
|
||||||
class NativePowerAssertTest {
|
class NativePowerAssertTest {
|
||||||
@Test
|
@Test
|
||||||
fun assert() {
|
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(),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user