Sha256: d5031cb5ded15b962ae3143829e8f0f31ee8528d39d9712c87ff580fecbffb2a

Contents?: true

Size: 1.24 KB

Versions: 93

Compression:

Stored size: 1.24 KB

Contents

require 'epitools/iter'
require 'pry'

describe Iter do

  before :each do
    @i = Iter.new([1,2,3,4,5])
  end

  it "iterates" do
    @i.iterate(2) do |i,j|
      i.should_not == j
    end
  end
  
  it "to_a's" do
    @i.to_a.should == [1,2,3,4,5]
  end
  

  it "reverses" do
    @i.iterate(2) do |a, b|
      b.move_before(a)
    end
    
    @i.to_a.should == [5,4,3,2,1]
  end

  it "next/prevs" do
    @i.iterate(2) do |a,b|
      a.next.should == b
      b.prev.should == a
    end
  end
  
  it "removes" do
    @i.iterate {|x| x.remove if x % 2 == 1 }
    @i.to_a.should == [2,4]    
  end
  
  it "replaces" do
    @i.first.replace_with(-1)
    @i.to_a.should == [-1,2,3,4,5]    
    @i.last.replace_with(8)
    @i.to_a.should == [-1,2,3,4,8]
  end
  
  it "slices, values, indexes, etc." do
    # todo: slice should return an iter
    @i.first.should == 1
    @i[0..1].should == @i.values_at(0,1) 
    @i[0..-1].should == @i 
    @i[-1].should == @i.last
    @i[-2..-1].should == @i.values_at(-2,-1)
  end
  
  it "move_first/last" do
    @i.first.move_last
    @i.to_a.should == [2,3,4,5,1]
    
    @i.last.move_first
    @i.should == [1,2,3,4,5]
  end
  
  it "sorts an array" do
    i = Iter.new [3,7,3,1,3]
    i.each { |a|
      
    }
  end  
end

Version data entries

93 entries across 93 versions & 1 rubygems

Version Path
epitools-0.5.103 spec/iter_spec.rb
epitools-0.5.100 spec/iter_spec.rb
epitools-0.5.99 spec/iter_spec.rb
epitools-0.5.98 spec/iter_spec.rb
epitools-0.5.97 spec/iter_spec.rb
epitools-0.5.96 spec/iter_spec.rb
epitools-0.5.95 spec/iter_spec.rb
epitools-0.5.94 spec/iter_spec.rb
epitools-0.5.93 spec/iter_spec.rb
epitools-0.5.92 spec/iter_spec.rb
epitools-0.5.91 spec/iter_spec.rb
epitools-0.5.90 spec/iter_spec.rb
epitools-0.5.89 spec/iter_spec.rb
epitools-0.5.88 spec/iter_spec.rb
epitools-0.5.87 spec/iter_spec.rb
epitools-0.5.86 spec/iter_spec.rb
epitools-0.5.85 spec/iter_spec.rb
epitools-0.5.84 spec/iter_spec.rb
epitools-0.5.83 spec/iter_spec.rb
epitools-0.5.82 spec/iter_spec.rb