Sha256: dfddb0a3eab40470aeda985feee901b3ec60d4b265951d1eca1f18651e1e1b6f

Contents?: true

Size: 732 Bytes

Versions: 24

Compression:

Stored size: 732 Bytes

Contents

# frozen_string_literal: true

require 'amatch'

module GitlabQuality
  module TestTooling
    class StackTraceComparator
      include Amatch

      def initialize(first_trace, second_trace)
        @first_trace = first_trace
        @second_trace = second_trace
      end

      def diff_ratio
        @diff_ratio ||= (1 - first_trace.levenshtein_similar(second_trace))
      end

      def diff_percent
        (diff_ratio * 100).round(2)
      end

      def lower_than_diff_ratio?(max_diff_ratio)
        diff_ratio < max_diff_ratio
      end

      def lower_or_equal_to_diff_ratio?(max_diff_ratio)
        diff_ratio <= max_diff_ratio
      end

      private

      attr_reader :first_trace, :second_trace
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
gitlab_quality-test_tooling-2.6.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.5.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.4.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.3.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.2.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.1.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-2.0.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.39.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.38.1 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.38.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.37.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.36.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.35.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.34.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.33.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.32.1 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.32.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.31.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.30.0 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb
gitlab_quality-test_tooling-1.29.1 lib/gitlab_quality/test_tooling/stack_trace_comparator.rb