MCPcopy Index your code
hub / github.com/python/cpython / test_parents

Method test_parents

Lib/test/test_pathlib/test_join.py:198–243  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

196 self.assertEqual(p.parent.parent.parent.parent, P('/'))
197
198 def test_parents(self):
199 # Relative
200 P = self.cls
201 p = P('a/b/c')
202 par = p.parents
203 self.assertEqual(len(par), 3)
204 self.assertEqual(par[0], P('a/b'))
205 self.assertEqual(par[1], P('a'))
206 self.assertEqual(par[2], P(''))
207 self.assertEqual(par[-1], P(''))
208 self.assertEqual(par[-2], P('a'))
209 self.assertEqual(par[-3], P('a/b'))
210 self.assertEqual(par[0:1], (P('a/b'),))
211 self.assertEqual(par[:2], (P('a/b'), P('a')))
212 self.assertEqual(par[:-1], (P('a/b'), P('a')))
213 self.assertEqual(par[1:], (P('a'), P('')))
214 self.assertEqual(par[::2], (P('a/b'), P('')))
215 self.assertEqual(par[::-1], (P(''), P('a'), P('a/b')))
216 self.assertEqual(list(par), [P('a/b'), P('a'), P('')])
217 with self.assertRaises(IndexError):
218 par[-4]
219 with self.assertRaises(IndexError):
220 par[3]
221 with self.assertRaises(TypeError):
222 par[0] = p
223 # Anchored
224 p = P('/a/b/c')
225 par = p.parents
226 self.assertEqual(len(par), 3)
227 self.assertEqual(par[0], P('/a/b'))
228 self.assertEqual(par[1], P('/a'))
229 self.assertEqual(par[2], P('/'))
230 self.assertEqual(par[-1], P('/'))
231 self.assertEqual(par[-2], P('/a'))
232 self.assertEqual(par[-3], P('/a/b'))
233 self.assertEqual(par[0:1], (P('/a/b'),))
234 self.assertEqual(par[:2], (P('/a/b'), P('/a')))
235 self.assertEqual(par[:-1], (P('/a/b'), P('/a')))
236 self.assertEqual(par[1:], (P('/a'), P('/')))
237 self.assertEqual(par[::2], (P('/a/b'), P('/')))
238 self.assertEqual(par[::-1], (P('/'), P('/a'), P('/a/b')))
239 self.assertEqual(list(par), [P('/a/b'), P('/a'), P('/')])
240 with self.assertRaises(IndexError):
241 par[-4]
242 with self.assertRaises(IndexError):
243 par[3]
244
245 def test_anchor(self):
246 P = self.cls

Callers

nothing calls this directly

Calls 4

listClass · 0.85
PClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected