Sha256: bd97b7acf2a602c8adb4580decc13961eeab074139313bdffb4903c00167b229

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

require File.expand_path(File.join(*%w[ .. helper ]), File.dirname(__FILE__))

class PigeonSortedArrayTest < Minitest::Test
  def test_empty_state
    array = Pigeon::SortedArray.new
    
    assert array.empty?
    assert array.is_a?(Array)
    assert_equal [ ], array
    
    dup = array.dup
    
    assert_equal Pigeon::SortedArray, dup.class
    
    combined = (array + array)
    
    assert_equal [ ], combined
    assert_equal Pigeon::SortedArray, combined.class
  end
  
  def test_does_sorting
    array = Pigeon::SortedArray.new
    
    test_array = [ 2, 2, 2, 2, 3, 3, 3 ]
    
    test_array.each do |i| 
      array << i
    end
    
    assert_equal [ 2, 2, 2, 2, 3, 3, 3 ], array.to_a
  end
  
  def test_does_sorting_with_insertion_in_order
    array = Pigeon::SortedArray.new

    10.times do |n|
      array << n.to_f
    end
    
    assert_equal (0..9).to_a.collect(&:to_f), array
  end

  def test_does_sorting_with_insertion_random_order
    array = Pigeon::SortedArray.new
    
    srand
    (0..10000).to_a.sort_by { rand }.each do |i|
      array << i
    end
  
    assert_equal (0..10000).to_a, array
    assert_equal 10001, array.length
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pigeon-1.0.2 test/unit/pigeon_sorted_array_test.rb
pigeon-1.0.1 test/unit/pigeon_sorted_array_test.rb
pigeon-1.0.0 test/unit/pigeon_sorted_array_test.rb