def test_mfs_marshal(self): mfs = MultiFieldSelector( ["rakkk", None, "awkkkkkk"], ["rakkk", None, "zgruppp"], ["cr_r_a_a_ck", "rip"], ["cr_r_a_a_ck", "aiieee"], ) path = mfs.path new_mfs = MultiFieldSelector.from_path(path) for fs in mfs: self.assertIn(fs, new_mfs) parts = list(fs) self.assertIsNotNone(parts[-1]) for fs in new_mfs: self.assertIn(fs, mfs) self.assertEqual(len(mfs.path), len(new_mfs.path)) for path in (".foo", ".foo[*]", ".foo.bar[*]"): mfs = MultiFieldSelector.from_path(path) self.assertEqual(mfs.path, path) for mfs_fs in ( ((), ), (("foo", ), ), ((1, ), (2, )), ((None, )), (("foo", "bar", None), ), ): mfs = MultiFieldSelector(*mfs_fs) path = mfs.path mfs_loop = MultiFieldSelector.from_path(path) self.assertEqual(mfs_loop.path, path) self.assertEqual(list(fs.path for fs in mfs), list(fs.path for fs in mfs_loop))
def test_mfs_marshal(self): mfs = MultiFieldSelector( ["rakkk", None, "awkkkkkk"], ["rakkk", None, "zgruppp"], ["cr_r_a_a_ck", "rip"], ["cr_r_a_a_ck", "aiieee"], ) path = mfs.path new_mfs = MultiFieldSelector.from_path(path) for fs in mfs: self.assertIn(fs, new_mfs) parts = list(fs) self.assertIsNotNone(parts[-1]) for fs in new_mfs: self.assertIn(fs, mfs) self.assertEqual(len(mfs.path), len(new_mfs.path)) for path in (".foo", ".foo[*]", ".foo.bar[*]"): mfs = MultiFieldSelector.from_path(path) self.assertEqual(mfs.path, path) for mfs_fs in ( ((),), (("foo",),), ((1,), (2,)), ((None,)), (("foo", "bar", None),), ): mfs = MultiFieldSelector(*mfs_fs) path = mfs.path mfs_loop = MultiFieldSelector.from_path(path) self.assertEqual(mfs_loop.path, path) self.assertEqual(list(fs.path for fs in mfs), list(fs.path for fs in mfs_loop))
def test_mfs_marshal(self): mfs = MultiFieldSelector( ["rakkk", None, "awkkkkkk"], ["rakkk", None, "zgruppp"], ["cr_r_a_a_ck", "rip"], ["cr_r_a_a_ck", "aiieee"], ) path = mfs.path new_mfs = MultiFieldSelector.from_path(path) for fs in mfs: self.assertIn(fs, new_mfs) for fs in new_mfs: self.assertIn(fs, mfs) self.assertEqual(len(mfs.path), len(new_mfs.path))
def test_mfs_marshal(self): mfs = MultiFieldSelector( ["rakkk", None, "awkkkkkk"], ["rakkk", None, "zgruppp"], ["cr_r_a_a_ck", "rip"], ["cr_r_a_a_ck", "aiieee"], ) path = mfs.path new_mfs = MultiFieldSelector.from_path(path) for fs in mfs: self.assertIn(fs, new_mfs) for fs in new_mfs: self.assertIn(fs, mfs) self.assertEqual(len(mfs.path), len(new_mfs.path))