outcome_is_complete
- negmas.outcomes.outcome_is_complete(outcome, issues)[source]
Tests that the outcome is valid and complete.
Examples
>>> from negmas.outcomes import make_issue >>> issues = [make_issue((0.5, 2.0), 'price'), make_issue(['2018.10.'+ str(_) for _ in range(1, 4)], 'date') , make_issue(20, 'count')] >>> for _ in issues: print(_) price: (0.5, 2.0) date: ['2018.10.1', '2018.10.2', '2018.10.3'] count: (0, 19) >>> print([outcome_is_complete({'price':3.0}, issues), outcome_is_complete({'date': '2018.10.4'}, issues) , outcome_is_complete({'count': 21}, issues)]) [False, False, False] >>> valid_incomplete = {'price': 1.9} >>> print(outcome_is_complete(valid_incomplete, issues)) False >>> valid_incomplete.update({'date': '2018.10.2', 'count': 5}) >>> print(outcome_is_complete(valid_incomplete, issues)) True >>> invalid = {'price': 2000, 'date': '2018.10.2', 'count': 5} >>> print(outcome_is_complete(invalid, issues)) False >>> invalid = {'unknown': 2000, 'date': '2018.10.2', 'count': 5} >>> print(outcome_is_complete(invalid, issues)) False
- Args:
outcome: outcome tested which much contain valid values all issues if it is to be considered complete. issues: issues