def METHOD_NAME(self, **options):
    r"""
    Tests that ``self`` is nilpotent and has the correct step.
    INPUT:
    - ``options`` -- any keyword arguments accepted by
      :meth:`_tester`
    EXAMPLES::
        sage: # needs sage.combinat sage.modules
        sage: L = LieAlgebra(QQ, {('X','Y'): {'Z': 1}}, nilpotent=True)
        sage: L._test_nilpotency()
        sage: L = LieAlgebra(QQ, {('X','Y'): {'Z': 1}},
        ....:                nilpotent=True, step=3)
        sage: L._test_nilpotency()
        Traceback (most recent call last):
        ...
        AssertionError: claimed nilpotency step 3
        does not match the actual nilpotency step 2
        sage: L = LieAlgebra(QQ, {('X','Y'): {'X': 1}}, nilpotent=True)
        sage: L._test_nilpotency()
        Traceback (most recent call last):
        ...
        AssertionError: final term of lower central series is non-zero
    See the documentation for :class:`TestSuite` for more information.
    """
    tester = self._tester(**options)
    lcs = self.lower_central_series(submodule=True)
    tester.assertEqual(lcs[-1].dimension(), 0,
        msg="final term of lower central series is non-zero")
    step = self.step()
    tester.assertEqual(len(lcs) - 1, step,
        msg="claimed nilpotency step %d does not match the "
        "actual nilpotency step %d" % (step, len(lcs) - 1))