Sha256: 2070d3363e557051b38618081a27f0e471558e7fa02759414bd57f30a03670a1

Contents?: true

Size: 1.76 KB

Versions: 38

Compression:

Stored size: 1.76 KB

Contents

# frozen_string_literal: true

module Mutant
  class Reporter
    class CLI
      class Printer
        # Env progress printer
        class EnvProgress < self
          delegate(
            :amount_mutation_results,
            :amount_mutations_alive,
            :amount_mutations_killed,
            :amount_timeouts,
            :coverage,
            :env,
            :killtime,
            :overhead,
            :runtime
          )

          FORMATS = [
            [:info,   'Results:         %s',      :amount_mutation_results],
            [:info,   'Kills:           %s',      :amount_mutations_killed],
            [:info,   'Alive:           %s',      :amount_mutations_alive ],
            [:info,   'Timeouts:        %s',      :amount_timeouts        ],
            [:info,   'Runtime:         %0.2fs',  :runtime                ],
            [:info,   'Killtime:        %0.2fs',  :killtime               ],
            [:info,   'Overhead:        %0.2f%%', :overhead_percent       ],
            [:info,   'Mutations/s:     %0.2f',   :mutations_per_second   ],
            [:status, 'Coverage:        %0.2f%%', :coverage_percent       ]
          ].each(&:freeze)

          # Run printer
          #
          # @return [undefined]
          def run
            visit(Env, env)
            FORMATS.each do |report, format, value|
              __send__(report, format, __send__(value))
            end
          end

        private

          def mutations_per_second
            amount_mutation_results / runtime
          end

          def coverage_percent
            coverage * 100
          end

          def overhead_percent
            (overhead / killtime) * 100
          end
        end # EnvProgress
      end # Printer
    end # CLI
  end # Reporter
end # Mutant

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
mutant-0.11.27 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.26 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.25 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.24 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.23 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.22 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.21 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.20 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.19 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.18 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.17 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.16 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.15 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.14 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.13 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.12 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.11 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.10 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.9 lib/mutant/reporter/cli/printer/env_progress.rb
mutant-0.11.8 lib/mutant/reporter/cli/printer/env_progress.rb