Sha256: 98cd7bb8650cac67e37a82dd8fd39afcad081916f88dacb9db16be4f2f5b41dc
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'spec_helper' describe TimeSeries do it { should respond_to(:bsearch_indices_at) } it { expect { subject.bsearch_indices_at(1.0) }.not_to raise_error } it { expect(subject.bsearch_indices_at(1.0)).to eql [nil, nil] } let(:arr_t) { [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] } let(:arr_t1) { [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] } let(:arr_t2) { [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0] } let(:arr_v) { [111, 222, 333, 444, 555, 666, 777] } context 'when initialized with arrays' do subject { TimeSeries.new(arr_t, arr_v) } describe '#bsearch_indices_at' do it 'should return [nil, 0] if t < first element' do expect(subject.bsearch_indices_at(-1.0)).to eql [nil, 0] end it 'should return [i_k, i_k+1] if T(i_k) <= t < T(i_k+1)' do expect(subject.bsearch_indices_at(1.0)).to eql [0, 1] expect(subject.bsearch_indices_at(1.5)).to eql [0, 1] end it 'should return last element index [N, nil] if T(N) <= t' do expect(subject.bsearch_indices_at(10.0)).to eql [6, nil] end end end context 'when initialized with several items with same timestamp' do let(:ts1) { TimeSeries.new(arr_t1, arr_v) } let(:ts2) { TimeSeries.new(arr_t2, arr_v) } describe '#bsearch_indices_at' do it 'should return last element index pair [N, nil] if T(N) <= t' do expect(ts1.bsearch_indices_at(1.0)).to eql [6, nil] expect(ts1.bsearch_indices_at(10.0)).to eql [6, nil] end it 'should return index pair of last element in serie of equal timestamps' do expect(ts2.bsearch_indices_at(1.0)).to eql [2, 3] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
time_series_math-0.1.1 | spec/time_series_math/time_series_math_c_spec.rb |