in lisa/search_space.py [0:0]
def check(self, capability: Any) -> ResultReason:
result = ResultReason()
if capability is None:
result.add_reason("capability shouldn't be None")
else:
if isinstance(capability, IntRange):
if capability.max < self.min:
result.add_reason(
f"capability max({capability.max}) is "
f"smaller than requirement min({self.min})"
)
elif capability.max == self.min and not capability.max_inclusive:
result.add_reason(
f"capability max({capability.max}) equals "
f"to requirement min({self.min}), but "
f"capability is not max_inclusive"
)
elif capability.min > self.max:
result.add_reason(
f"capability min({capability.min}) is "
f"bigger than requirement max({self.max})"
)
elif capability.min == self.max and not self.max_inclusive:
result.add_reason(
f"capability min({capability.min}) equals "
f"to requirement max({self.max}), but "
f"requirement is not max_inclusive"
)
elif isinstance(capability, int):
if capability < self.min:
result.add_reason(
f"capability({capability}) is "
f"smaller than requirement min({self.min})"
)
elif capability > self.max:
result.add_reason(
f"capability ({capability}) is "
f"bigger than requirement max({self.max})"
)
elif capability == self.max and not self.max_inclusive:
result.add_reason(
f"capability({capability}) equals "
f"to requirement max({self.max}), but "
f"requirement is not max_inclusive"
)
else:
assert isinstance(capability, list), f"actual: {type(capability)}"
temp_result = _one_of_matched(self, capability)
if not temp_result.result:
result.add_reason(
"no capability matches requirement, "
f"requirement: {self}, capability: {capability}"
)
return result