Sha256: cee544aa7d4130715ff5b03226c9c6e0cc7f066a08f0049e4f0b01a0c3f20f8f

Contents?: true

Size: 922 Bytes

Versions: 2

Compression:

Stored size: 922 Bytes

Contents

require 'spec_helper'
require 'support/model_test_helpers'

require 'multi_json'
#
require 'gorillib/model'
require 'gorillib/builder'
require 'gorillib/model/serialization/tsv'

describe Gorillib::Model::LoadFromTsv, :model_spec, :builder_spec do

  context ".load_tsv" do

    let(:expected_engine) do
      {:name=>:Wankel, :carburetor=>:no, :volume=>1, :cylinders=>982, :owner=>"who_am_i"}
    end

    before :each do
      engine_class.class_eval { include Gorillib::Model::LoadFromTsv }
      engine_class.should_receive(:_each_raw_line).with(:test, {}).
        and_yield(expected_engine.values.join("\t"))
    end

    it "loads from file" do
      engine_class.load_tsv(:test).to_wire().first.keep_if{|k,| k != :_type}.should
        eql(expected_engine)
     end

     it "loads from file with block" do
       expect { |b| engine_class.load_tsv(:test, &b) }.to yield_with_args(engine_class)
     end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gorillib-0.6.0 spec/gorillib/model/serialization/tsv_spec.rb
gorillib-0.5.2 spec/gorillib/model/serialization/tsv_spec.rb