Sha256: 86702dd6c2e5a53c39b4a2827edd9c5fab904d904afd267604f448c873185d69

Contents?: true

Size: 781 Bytes

Versions: 41

Compression:

Stored size: 781 Bytes

Contents

module OrigenTesters::ATP
  module Validators
    class DuplicateIDs < Validator
      def on_completion
        if @duplicate_ids
          @duplicate_ids.each do |id, nodes|
            error "Test ID #{id} is defined more than once in flow #{flow.name}:"
            nodes.each do |node|
              error "  #{node.source}"
            end
          end
          true
        end
      end

      def on_id(node)
        @existing_ids ||= {}
        id = node.value
        if @existing_ids[id]
          @duplicate_ids ||= {}
          if @duplicate_ids[id]
            @duplicate_ids[id] << node
          else
            @duplicate_ids[id] = [@existing_ids[id], node]
          end
        else
          @existing_ids[id] = node
        end
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
origen_testers-0.52.9 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.8 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.7 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.6 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.5 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.4 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.3 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.1 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.52.0 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.5 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.4 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.3 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.2 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.1 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.51.0 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.50.0 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.49.4 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.49.3 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.49.2 lib/origen_testers/atp/validators/duplicate_ids.rb
origen_testers-0.49.1 lib/origen_testers/atp/validators/duplicate_ids.rb