def METHOD_NAME(self):
    restrictions = Restrictions(
        sequence=1,
        min_occurs=1,
        max_occurs=1,
        path=[("g", 0, 1, 1), ("s", 1, 1, 1)],
    )
    target = ClassFactory.create(
        attrs=[
            AttrFactory.element(
                name="a", namespace="b", restrictions=restrictions.clone()
            ),
            AttrFactory.element(
                name="b", namespace="b", restrictions=restrictions.clone()
            ),
            AttrFactory.element(
                name="a", namespace="b", restrictions=restrictions.clone()
            ),
            AttrFactory.element(
                name="b", namespace="b", restrictions=restrictions.clone()
            ),
            AttrFactory.element(name="c", namespace="b"),
            AttrFactory.element(
                name="d", namespace="b", restrictions=Restrictions(choice=1)
            ),
        ]
    )
    self.processor.process(target)
    self.assertEqual(4, len(target.attrs))
    actual = [
        (
            x.name,
            x.restrictions.choice,
            x.restrictions.sequence,
            x.restrictions.min_occurs,
            x.restrictions.max_occurs,
            x.restrictions.path,
        )
        for x in target.attrs
    ]
    expected = [
        ("a", None, 1, 2, 2, [("g", 0, 1, 1), ("s", 1, 1, 2)]),
        ("b", None, 1, 2, 2, [("g", 0, 1, 1), ("s", 1, 1, 2)]),
        ("c", None, None, None, None, []),
        ("d", 1, None, None, None, []),
    ]
    self.assertEqual(expected, actual)