package log_reporter

import (
	"fmt"
)

func (r *Reporter) renderCoverageProfile() error {
	fmt.Fprint(r.writer, "mode: count\n")
	for _, detail := range r.cov.Details {
		fileName := fmt.Sprintf("%s/%s", detail.Pattern.Pos.PackageInfo.Repo, detail.Pattern.Pos.FilePath)
		startLine := detail.Pattern.Pos.Pos.Line
		startColumn := detail.Pattern.Pos.Pos.Column
		endLine := detail.Pattern.Pos.EndPos.Line
		endColumn := detail.Pattern.Pos.EndPos.Column

		count := 0
		if detail.Coverage != nil {
			count = int(detail.Coverage.CovCount)
		}

		fmt.Fprintf(r.writer, "%s:%d.%d,%d.%d %d %d\n", fileName, startLine, startColumn, endLine, endColumn, 1, count)
	}

	return nil
}
