Implementation
AttributeEvaluation getAttributeEvaluation(Attribute attribute) {
if (!isMatchAvailable(attribute)) {
return AttributeEvaluation.UNKNOWN;
}
// Note: Match evaluation is temporary, it should come from the server,
// currently it's computed as:
// 0-20: Very Bad
// 21-40: Bad
// 41-60: Neutral
// 61-80: Good
// 81-100: Very good
// > 100: Unknown
final int matchGrade = (attribute.match! / 20.0).ceil();
switch (matchGrade) {
case 0:
case 1:
return AttributeEvaluation.VERY_BAD;
case 2:
return AttributeEvaluation.BAD;
case 3:
return AttributeEvaluation.NEUTRAL;
case 4:
return AttributeEvaluation.GOOD;
case 5:
return AttributeEvaluation.VERY_GOOD;
default:
// Unknown Match score > 100
return AttributeEvaluation.UNKNOWN;
}
}