-
Notifications
You must be signed in to change notification settings - Fork 20
/
PartitionListTest.kt
60 lines (52 loc) · 1.96 KB
/
PartitionListTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import org.junit.Test
import kotlin.test.assertNull
class PartitionListTest {
@Test
fun testPartition() {
val pl = PartitionList()
assertNull(pl.partition(null, 2))
val node12 = PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(2)
}
assert(pl.partition(node12, 3) == PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(2)
})
assert(pl.partition(node12, 0) == PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(2)
})
val node143252 = PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(4).apply {
next = PartitionList.ListNode(3).apply {
next = PartitionList.ListNode(2).apply {
next = PartitionList.ListNode(5).apply {
next = PartitionList.ListNode(2)
}
}
}
}
}
assert(pl.partition(node143252, 3) == PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(2).apply {
next = PartitionList.ListNode(2).apply {
next = PartitionList.ListNode(4).apply {
next = PartitionList.ListNode(3).apply {
next = PartitionList.ListNode(5)
}
}
}
}
})
// Expected: 1 -> 3 -> 2 -> 2 -> 4 -> 5
assert(pl.partition(node143252, 4) == PartitionList.ListNode(1).apply {
next = PartitionList.ListNode(3).apply {
next = PartitionList.ListNode(2).apply {
next = PartitionList.ListNode(2).apply {
next = PartitionList.ListNode(4).apply {
next = PartitionList.ListNode(5)
}
}
}
}
})
}
}