|
1 | 1 | import unittest |
| 2 | +from typing import List |
2 | 3 | from parameterized import parameterized |
3 | 4 | from datastructures.trees.binary.utils import ( |
4 | 5 | lowest_common_ancestor, |
@@ -196,48 +197,29 @@ def test_4(self): |
196 | 197 | data=200, left=BinaryTreeNode(data=300), right=BinaryTreeNode(data=10) |
197 | 198 | ), |
198 | 199 | ), |
199 | | - BinaryTreeNode( |
200 | | - data=100, |
201 | | - left=BinaryTreeNode( |
202 | | - data=50, left=BinaryTreeNode(data=25), right=BinaryTreeNode(data=75) |
203 | | - ), |
204 | | - right=BinaryTreeNode( |
205 | | - data=200, left=BinaryTreeNode(data=300), right=BinaryTreeNode(data=10) |
206 | | - ), |
207 | | - next=BinaryTreeNode( |
208 | | - data=50, |
209 | | - left=BinaryTreeNode(data=300), |
210 | | - right=BinaryTreeNode(data=10), |
211 | | - next=BinaryTreeNode( |
212 | | - data=200, |
213 | | - left=BinaryTreeNode(data=300), |
214 | | - right=BinaryTreeNode(data=10), |
215 | | - next=BinaryTreeNode( |
216 | | - data=25, |
217 | | - next=BinaryTreeNode( |
218 | | - data=75, |
219 | | - next=BinaryTreeNode(data=300, next=BinaryTreeNode(data=10)), |
220 | | - ), |
221 | | - ), |
222 | | - ), |
223 | | - ), |
224 | | - ), |
| 200 | + [100, 50, 200, 25, 75, 300, 10], |
225 | 201 | ), |
226 | 202 | ] |
227 | 203 |
|
228 | 204 |
|
229 | 205 | class ConnectAllSiblingsTestCase(unittest.TestCase): |
230 | 206 | @parameterized.expand(CONNECT_ALL_SIBLINGS_TEST_CASES) |
231 | | - def test_connect_all_siblings(self, root: BinaryTreeNode, expected: BinaryTreeNode): |
| 207 | + def test_connect_all_siblings(self, root: BinaryTreeNode, expected: List[int]): |
232 | 208 | actual = connect_all_siblings(root) |
233 | | - self.assertEqual(expected, actual) |
| 209 | + current = actual |
| 210 | + for expected_val in expected: |
| 211 | + self.assertEqual(current.data, expected_val) |
| 212 | + current = current.next |
| 213 | + self.assertIsNone(current) |
234 | 214 |
|
235 | 215 | @parameterized.expand(CONNECT_ALL_SIBLINGS_TEST_CASES) |
236 | | - def test_connect_all_siblings_ptr( |
237 | | - self, root: BinaryTreeNode, expected: BinaryTreeNode |
238 | | - ): |
| 216 | + def test_connect_all_siblings_ptr(self, root: BinaryTreeNode, expected: List[int]): |
239 | 217 | actual = connect_all_siblings_ptr(root) |
240 | | - self.assertEqual(expected, actual) |
| 218 | + current = actual |
| 219 | + for expected_val in expected: |
| 220 | + self.assertEqual(current.data, expected_val) |
| 221 | + current = current.next |
| 222 | + self.assertIsNone(current) |
241 | 223 |
|
242 | 224 |
|
243 | 225 | if __name__ == "__main__": |
|
0 commit comments