Add assertSame and assertNotSame methods.
This commit is contained in:
committed by
Ilya Gorbunov
parent
edd3f76e7b
commit
e611b9a9ba
@@ -64,6 +64,16 @@ fun <@OnlyInputTypes T> assertNotEquals(illegal: T, actual: T, message: String?
|
|||||||
asserter.assertNotEquals(message, illegal, actual)
|
asserter.assertNotEquals(message, illegal, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Asserts that [expected] is the same instance as [actual], with an optional [message]. */
|
||||||
|
fun <@OnlyInputTypes T> assertSame(expected: T, actual: T, message: String? = null) {
|
||||||
|
asserter.assertSame(message, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Asserts that [actual] is not the same instance as [illegal], with an optional [message]. */
|
||||||
|
fun <@OnlyInputTypes T> assertNotSame(illegal: T, actual: T, message: String? = null) {
|
||||||
|
asserter.assertNotSame(message, illegal, actual)
|
||||||
|
}
|
||||||
|
|
||||||
/** Asserts that the [actual] value is not `null`, with an optional [message]. */
|
/** Asserts that the [actual] value is not `null`, with an optional [message]. */
|
||||||
fun <T : Any> assertNotNull(actual: T?, message: String? = null): T {
|
fun <T : Any> assertNotNull(actual: T?, message: String? = null): T {
|
||||||
contract { returns() implies (actual != null) }
|
contract { returns() implies (actual != null) }
|
||||||
@@ -175,6 +185,24 @@ interface Asserter {
|
|||||||
assertTrue({ messagePrefix(message) + "Illegal value: <$actual>." }, actual != illegal)
|
assertTrue({ messagePrefix(message) + "Illegal value: <$actual>." }, actual != illegal)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asserts that the specified values are the same instance.
|
||||||
|
*
|
||||||
|
* @param message the message to report if the assertion fails.
|
||||||
|
*/
|
||||||
|
fun assertSame(message: String?, expected: Any?, actual: Any?): Unit {
|
||||||
|
assertTrue({ messagePrefix(message) + "Expected <$expected>, actual <$actual>." }, actual === expected)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asserts that the specified values are not the same instance.
|
||||||
|
*
|
||||||
|
* @param message the message to report if the assertion fails.
|
||||||
|
*/
|
||||||
|
fun assertNotSame(message: String?, illegal: Any?, actual: Any?): Unit {
|
||||||
|
assertTrue({ messagePrefix(message) + "Illegal value: <$actual>." }, actual !== illegal)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asserts that the specified value is `null`.
|
* Asserts that the specified value is `null`.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,6 +9,12 @@ class BasicAssertionsTest {
|
|||||||
assertEquals(1, 1)
|
assertEquals(1, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAssertSame() {
|
||||||
|
val instance: Any = object {}
|
||||||
|
assertSame(instance, instance)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testAssertEqualsString() {
|
fun testAssertEqualsString() {
|
||||||
assertEquals("a", "a")
|
assertEquals("a", "a")
|
||||||
@@ -67,6 +73,13 @@ class BasicAssertionsTest {
|
|||||||
checkFailedAssertion { assertEquals(1, 2) }
|
checkFailedAssertion { assertEquals(1, 2) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAssertSameFails() {
|
||||||
|
val instance1: Any = object {}
|
||||||
|
val instance2: Any = object {}
|
||||||
|
checkFailedAssertion { assertEquals(instance1, instance2) }
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testAssertTrue() {
|
fun testAssertTrue() {
|
||||||
assertTrue(true)
|
assertTrue(true)
|
||||||
@@ -107,11 +120,24 @@ class BasicAssertionsTest {
|
|||||||
assertNotEquals(1, 2)
|
assertNotEquals(1, 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAssertNotSame() {
|
||||||
|
val instance1: Any = object {}
|
||||||
|
val instance2: Any = object {}
|
||||||
|
assertNotEquals(instance1, instance2)
|
||||||
|
}
|
||||||
|
|
||||||
@Test()
|
@Test()
|
||||||
fun testAssertNotEqualsFails() {
|
fun testAssertNotEqualsFails() {
|
||||||
checkFailedAssertion { assertNotEquals(1, 1) }
|
checkFailedAssertion { assertNotEquals(1, 1) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAssertNotSameFails() {
|
||||||
|
val instance: Any = object {}
|
||||||
|
checkFailedAssertion { assertNotEquals(instance, instance) }
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testAssertNotNull() {
|
fun testAssertNotNull() {
|
||||||
assertNotNull(true)
|
assertNotNull(true)
|
||||||
|
|||||||
@@ -44,6 +44,18 @@ internal object DefaultJsAsserter : Asserter {
|
|||||||
super.assertNotEquals(message, illegal, actual)
|
super.assertNotEquals(message, illegal, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun assertSame(message: String?, expected: Any?, actual: Any?) {
|
||||||
|
e = expected
|
||||||
|
a = actual
|
||||||
|
super.assertSame(message, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun assertNotSame(message: String?, illegal: Any?, actual: Any?) {
|
||||||
|
e = illegal
|
||||||
|
a = actual
|
||||||
|
super.assertNotSame(message, illegal, actual)
|
||||||
|
}
|
||||||
|
|
||||||
override fun assertNull(message: String?, actual: Any?) {
|
override fun assertNull(message: String?, actual: Any?) {
|
||||||
a = actual
|
a = actual
|
||||||
super.assertNull(message, actual)
|
super.assertNull(message, actual)
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ object JUnitAsserter : Asserter {
|
|||||||
Assert.assertNotEquals(message, illegal, actual)
|
Assert.assertNotEquals(message, illegal, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun assertSame(message : String?, expected : Any?, actual : Any?) {
|
||||||
|
Assert.assertSame(message, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun assertNotSame(message : String?, illegal : Any?, actual : Any?) {
|
||||||
|
Assert.assertNotSame(message, illegal, actual)
|
||||||
|
}
|
||||||
|
|
||||||
override fun assertNotNull(message : String?, actual : Any?) {
|
override fun assertNotNull(message : String?, actual : Any?) {
|
||||||
Assert.assertNotNull(message ?: "actual value is null", actual)
|
Assert.assertNotNull(message ?: "actual value is null", actual)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user