def test_report_status_precedent(): """ `precedent` should return the value with the highest precedence (the lowest index). """ assert Status.FAILED == Status.precedent([Status.FAILED, Status.UNKNOWN]) assert Status.ERROR == Status.precedent([Status.ERROR, Status.UNKNOWN]) assert Status.FAILED == Status.precedent( [Status.INCOMPLETE, Status.UNKNOWN]) assert Status.FAILED == Status.precedent( [Status.XPASS_STRICT, Status.UNKNOWN]) assert Status.UNKNOWN == Status.precedent([Status.UNKNOWN, Status.PASSED]) assert Status.PASSED == Status.precedent([Status.PASSED, Status.SKIPPED]) assert Status.PASSED == Status.precedent([Status.PASSED, Status.XFAIL]) assert Status.PASSED == Status.precedent([Status.PASSED, Status.XPASS]) assert Status.PASSED == Status.precedent([Status.PASSED, Status.UNSTABLE]) assert Status.UNSTABLE == Status.precedent([Status.UNSTABLE, None])
def test_report_status_precedent(): """`precedent` should return the value with the highest precedence (the lowest index).""" rule = ['alpha', 'beta', 'gamma'] assert 'alpha' == Status.precedent(['alpha', 'beta'], rule=rule) assert 'alpha' == Status.precedent(['alpha', 'gamma'], rule=rule) assert 'beta' == Status.precedent(['beta', 'gamma'], rule=rule) assert 'gamma' == Status.precedent(['gamma'], rule=rule) with pytest.raises(ValueError): Status.precedent(['foo', 'alpha', 'beta'], rule=rule)