Sha256: 009d30d2e709261f20deba0da34f6caba29ffee63897a2a572bad1cefc400ea8

Contents?: true

Size: 855 Bytes

Versions: 2

Compression:

Stored size: 855 Bytes

Contents

require 'spec_helper'

describe 'Veritas::Algebra::Summarization.summarize' do
  subject { object.summarize(tuple, summary, summarizer) }

  let(:header)     { Relation::Header.new([ [ :id, Integer ] ]) }
  let(:tuple)      { Tuple.new(header, [ 1 ])                   }
  let(:summarizer) { lambda { |acc, tuple| acc.to_i + 1 }       }
  let(:object)     { Algebra::Summarization                     }

  context 'when the accumulator is uninitialized' do
    let(:summary) { {} }

    it { should equal(object) }

    it { expect { subject }.to change { summary.dup }.from({}).to({ summarizer => 1 }) }
  end

  context 'when the accumulator is initialized' do
    let(:summary) { { summarizer => 1 } }

    it { should equal(object) }

    it { expect { subject }.to change { summary.dup }.from({ summarizer => 1 }).to({ summarizer => 2 }) }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
veritas-0.0.2 spec/unit/veritas/algebra/summarization/class_methods/summarize_spec.rb
veritas-0.0.1 spec/unit/veritas/algebra/summarization/class_methods/summarize_spec.rb