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