-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreverseNodesInKGroupTest.py
128 lines (110 loc) · 3.72 KB
/
reverseNodesInKGroupTest.py
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import unittest
from ListNode import ListNode
from reverseNodesInKGruop import Solution
class reverseNodeInKGroupTest(unittest.TestCase):
def example_k_is_3_test(self):
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
k = 3
expectedNode1 = ListNode(3)
expectedNode2 = ListNode(2)
expectedNode3 = ListNode(1)
expectedNode4 = ListNode(4)
expectedNode5 = ListNode(5)
expectedNode1.next = expectedNode2
expectedNode2.next = expectedNode3
expectedNode3.next = expectedNode4
expectedNode4.next = expectedNode5
solution = Solution()
actualResult = solution.swapInKGruop(node1, k)
self.assertTrue(expectedNode1.equalTo(actualResult))
def example_k_is_2_test(self):
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
k = 2
expectedNode1 = ListNode(2)
expectedNode2 = ListNode(1)
expectedNode3 = ListNode(4)
expectedNode4 = ListNode(3)
expectedNode5 = ListNode(5)
expectedNode1.next = expectedNode2
expectedNode2.next = expectedNode3
expectedNode3.next = expectedNode4
expectedNode4.next = expectedNode5
solution = Solution()
actualResult = solution.swapInKGruop(node1, k)
self.assertTrue(expectedNode1.equalTo(actualResult))
def more_than_2_groups_test(self):
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
node6 = ListNode(6)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
node5.next = node6
k = 3
expectedNode1 = ListNode(3)
expectedNode2 = ListNode(2)
expectedNode3 = ListNode(1)
expectedNode4 = ListNode(6)
expectedNode5 = ListNode(5)
expectedNode6 = ListNode(4)
expectedNode1.next = expectedNode2
expectedNode2.next = expectedNode3
expectedNode3.next = expectedNode4
expectedNode4.next = expectedNode5
expectedNode5.next = expectedNode6
solution = Solution()
actualResult = solution.swapInKGruop(node1, k)
self.assertTrue(expectedNode1.equalTo(actualResult))
def more_than_2_gruops_one_node_left_test(self):
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
node6 = ListNode(6)
node7 = ListNode(7)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
node5.next = node6
node6.next = node7
k = 3
expectedNode1 = ListNode(3)
expectedNode2 = ListNode(2)
expectedNode3 = ListNode(1)
expectedNode4 = ListNode(6)
expectedNode5 = ListNode(5)
expectedNode6 = ListNode(4)
expectedNode7 = ListNode(7)
expectedNode1.next = expectedNode2
expectedNode2.next = expectedNode3
expectedNode3.next = expectedNode4
expectedNode4.next = expectedNode5
expectedNode5.next = expectedNode6
expectedNode6.next = expectedNode7
solution = Solution()
actualResult = solution.swapInKGruop(node1, k)
self.assertTrue(expectedNode1.equalTo(actualResult))
if __name__ == '__main__':
unittest.main()