def is_ascending(self):
x = self.uo
while isinstance(x, UnaryExpression):
if x.modifier in (asc_op, desc_op):
return x.modifier == asc_op
else:
x = x.element
raise ValueError # pragma: no cover