class SimpleCov::SourceFile::Branch

Give us support methods that handle needed calculations.
Representing single branch that has been detected in coverage report.

def covered?

Returns:
  • (Boolean) -
def covered?
  !skipped? && coverage.positive?
end

def initialize(start_line:, end_line:, coverage:, inline:, type:)

rubocop:disable Metrics/ParameterLists
def initialize(start_line:, end_line:, coverage:, inline:, type:)
  @start_line = start_line
  @end_line   = end_line
  @coverage   = coverage
  @inline     = inline
  @type       = type
  @skipped    = false
end

def inline?

def inline?
  @inline
end

def missed?

Returns:
  • (Boolean) -
def missed?
  !skipped? && coverage.zero?
end

def overlaps_with?(line_range)

def overlaps_with?(line_range)
  start_line <= line_range.end && end_line >= line_range.begin
end

def report

Returns:
  • (Array) -
def report
  [type, coverage]
end

def report_line


(see the nested_branches fixture)
* makes it distinguishable if the first line of the branch is an inline branch
* highlights the condition
at if/else) because that
Usually we choose the line above the start of the branch (so that it shows up

The line on which we want to report the coverage
def report_line
  if inline?
    start_line
  else
    start_line - 1
  end
end

def skipped!

Flags the branch as skipped
def skipped!
  @skipped = true
end

def skipped?

Returns true if the branch was marked skipped by virtue of nocov comments.
def skipped?
  @skipped
end