Sha256: f6439e810d359c45a7365023a39d2eeeb0aaccdb5ac620e1f1e52490856f6643

Contents?: true

Size: 993 Bytes

Versions: 5

Compression:

Stored size: 993 Bytes

Contents

require "spec_helper"
require "cascade/data_parser"

describe Cascade::DataParser do
  def described_class
    Cascade::DataParser
  end

  class FakeDataProvider
    def open(_)
      [
        ["Sally Whittaker", "2018", "McCarren House", "312",
         "3.75", "France", "+", "123.123"],
        ["Jeff Smith", "2018", "Prescott House", "17-D", "3.20",
         "Austria", "45.12"]
      ]
    end
  end

  let(:filename) { "spec/examples/data_test.txt" }
  let(:data_provider) { FakeDataProvider.new }

  before do
    @processor_calls_count = 0
    @data_saves_count = 0
    row_processor =  ->(_row) { @processor_calls_count += 1 }
    data_saver    =  ->(*)   { @data_saves_count += 1 }
    @parser = described_class.new(filename, row_processor: row_processor,
      data_saver: data_saver, data_provider: data_provider)
  end

  it "calls row processor for each file line" do
    @parser.call
    assert_equal @processor_calls_count, 2
    assert_equal @data_saves_count, 2
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cascade-rb-0.1.5 spec/lib/data_parser_spec.rb
cascade-rb-0.1.4 spec/lib/data_parser_spec.rb
cascade-rb-0.1.2 spec/lib/data_parser_spec.rb
cascade-rb-0.1.1 spec/lib/data_parser_spec.rb
cascade-rb-0.1.0 spec/lib/data_parser_spec.rb