Sha256: fc745db2bb23c4a089422d0f7093488f7a1827b8888996b2bff18104ae700656

Contents?: true

Size: 1.52 KB

Versions: 9

Compression:

Stored size: 1.52 KB

Contents

module Soaspec
  module TestServer
    # Handles returning ids dependent on a number of factors
    # Made to demonstrate creating testing a list of ids where a few return false
    # when not developed and checking each value in the list can find the false value
    class IdManager
      # @return [Boolean] Whether to simulate a fully developed state where everything is done
      @developed = false
      class << self
        attr_accessor :developed

        # Once developed is set, everything will return true. A 'false' value represents something
        # not developed
        # @param [String] num Number representing tester or test number
        # @param [String] id Id used in test
        # @return  Result depending on num, id and whether '@developed' is set
        def result_for(num, id)
          result = undeveloped_id(num, id) unless @developed
          result || 'true'
        end

        # Idea is that this will return false for a particular id for different test numbers
        # @param [String] num Number representing tester or test number
        # @param [String] id Id used in test
        # @return [String] true of false depending on num and id
        def undeveloped_id(num, id)
          case num
          when '1', '4', '10' then 'false' if id == '40'
          when '3', '11', '9' then 'false' if id == '74'
          when '2', '6', '8' then 'false' if id == '80'
          when '7', '5', '12' then 'false' if id == '64'
          else
            'true'
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
soaspec-0.2.29 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.28 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.27 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.26 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.25 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.23 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.22 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.21 lib/soaspec/test_server/id_manager.rb
soaspec-0.2.20 lib/soaspec/test_server/id_manager.rb