spec/vector_spec.rb in daru-0.2.2 vs spec/vector_spec.rb in daru-0.3

- old
+ new

@@ -848,10 +848,28 @@ it 'does not fail on too large num' do expect(vector.tail(3000)).to eq vector end end + context '#last' do + subject(:vector) do + Daru::Vector.new (1..20).to_a, dtype: dtype + end + + it 'takes 1 by default' do + expect(vector.last).to eq 20 + end + + it 'takes num if provided' do + expect(vector.last(3)).to eq Daru::Vector.new (18..20).to_a, index: (17..19).to_a + end + + it 'does not fail on too large num' do + expect(vector.last(3000)).to eq vector + end + end + context "#concat" do before :each do @dv = Daru::Vector.new [1,2,3,4,5], name: :yoga, index: [:warwick, :thompson, :jackson, :fender, :esp], dtype: dtype end @@ -2126,9 +2144,20 @@ before { dv.name = :hello } it { expect { dv.group_by :abc }.to raise_error } end end + context '#match' do + subject { dv.match(regexp) } + + context 'returns matching array for a given regexp' do + let(:dv) { Daru::Vector.new ['3 days', '5 weeks', '2 weeks'] } + let(:regexp) { /weeks/ } + + it { is_expected.to eq([false, true, true]) } + end + end + context '#method_missing' do context 'getting' do subject(:vector) { Daru::Vector.new [1,2,3], index: [:a, :b, :c] } it 'returns value for existing index' do