ca6ce151a2
This makes 'test.' an implicit package prefix, thus fixing the inspection "Package directive doesn't match file location" positive in almost all test files.
107 lines
3.1 KiB
Kotlin
107 lines
3.1 KiB
Kotlin
/*
|
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
|
|
package test.utils
|
|
|
|
import kotlin.test.*
|
|
|
|
class PairTest {
|
|
val p = Pair(1, "a")
|
|
|
|
@Test fun pairFirstAndSecond() {
|
|
assertEquals(1, p.first)
|
|
assertEquals("a", p.second)
|
|
}
|
|
|
|
@Test fun pairMultiAssignment() {
|
|
val (a, b) = p
|
|
assertEquals(1, a)
|
|
assertEquals("a", b)
|
|
}
|
|
|
|
@Test fun pairToString() {
|
|
assertEquals("(1, a)", p.toString())
|
|
}
|
|
|
|
@Test fun pairEquals() {
|
|
assertEquals(Pair(1, "a"), p)
|
|
assertNotEquals(Pair(2, "a"), p)
|
|
assertNotEquals(Pair(1, "b"), p)
|
|
assertTrue(!p.equals(null))
|
|
assertNotEquals("", (p as Any))
|
|
}
|
|
|
|
@Test fun pairHashCode() {
|
|
assertEquals(Pair(1, "a").hashCode(), p.hashCode())
|
|
assertNotEquals(Pair(2, "a").hashCode(), p.hashCode())
|
|
assertNotEquals(0, Pair(null, "b").hashCode())
|
|
assertNotEquals(0, Pair("b", null).hashCode())
|
|
assertEquals(0, Pair(null, null).hashCode())
|
|
}
|
|
|
|
@Test fun pairHashSet() {
|
|
val s = hashSetOf(Pair(1, "a"), Pair(1, "b"), Pair(1, "a"))
|
|
assertEquals(2, s.size)
|
|
assertTrue(s.contains(p))
|
|
}
|
|
|
|
@Test fun pairToList() {
|
|
assertEquals(listOf(1, 2), (1 to 2).toList())
|
|
assertEquals(listOf(1, null), (1 to null).toList())
|
|
assertEquals(listOf(1, "2"), (1 to "2").toList())
|
|
}
|
|
}
|
|
|
|
class TripleTest {
|
|
val t = Triple(1, "a", 0.07)
|
|
|
|
@Test fun tripleFirstAndSecond() {
|
|
assertEquals(1, t.first)
|
|
assertEquals("a", t.second)
|
|
assertEquals(0.07, t.third)
|
|
}
|
|
|
|
@Test fun tripleMultiAssignment() {
|
|
val (a, b, c) = t
|
|
assertEquals(1, a)
|
|
assertEquals("a", b)
|
|
assertEquals(0.07, c)
|
|
}
|
|
|
|
@Test fun tripleToString() {
|
|
assertEquals("(1, a, 0.07)", t.toString())
|
|
}
|
|
|
|
@Test fun tripleEquals() {
|
|
assertEquals(Triple(1, "a", 0.07), t)
|
|
assertNotEquals(Triple(2, "a", 0.07), t)
|
|
assertNotEquals(Triple(1, "b", 0.07), t)
|
|
assertNotEquals(Triple(1, "a", 0.1), t)
|
|
assertTrue(!t.equals(null))
|
|
assertNotEquals("", (t as Any))
|
|
}
|
|
|
|
@Test fun tripleHashCode() {
|
|
assertEquals(Triple(1, "a", 0.07).hashCode(), t.hashCode())
|
|
assertNotEquals(Triple(2, "a", 0.07).hashCode(), t.hashCode())
|
|
assertNotEquals(0, Triple(null, "b", 0.07).hashCode())
|
|
assertNotEquals(0, Triple("b", null, 0.07).hashCode())
|
|
assertNotEquals(0, Triple("b", 1, null).hashCode())
|
|
assertEquals(0, Triple(null, null, null).hashCode())
|
|
}
|
|
|
|
@Test fun tripleHashSet() {
|
|
val s = hashSetOf(Triple(1, "a", 0.07), Triple(1, "b", 0.07), Triple(1, "a", 0.07))
|
|
assertEquals(2, s.size)
|
|
assertTrue(s.contains(t))
|
|
}
|
|
|
|
@Test fun tripleToList() {
|
|
assertEquals(listOf(1, 2, 3), (Triple(1, 2, 3)).toList())
|
|
assertEquals(listOf(1, null, 3), (Triple(1, null, 3)).toList())
|
|
assertEquals(listOf(1, 2, "3"), (Triple(1, 2, "3")).toList())
|
|
}
|
|
}
|