code: def get_stats_of_rows(rows):
      
      count_true = count_false = max_score = 0
      for row in rows:
          if not row.properties:
              logging.info('Missing property for %s.', row.filename)
              continue
          if len(row.properties) > 1:
              # multiple properties not yet supported
              count_true = count_false = max_score = 0
              break
          expected_result = row.expected_results.get(row.properties[0].name)
          if not expected_result:
              continue
          if expected_result.result is True:
              count_true += 1
          elif expected_result.result is False:
              count_false += 1
          for prop in row.properties:
              max_score += prop.max_score(expected_result)
  
      return max_score, count_true, count_false
docs: Calculcate number of true/false tasks and maximum achievable score.