Sha256: 151ee19e99d17a805e72aeade407178be8cb55c5f9bfead4747a867591cecfd7

Contents?: true

Size: 657 Bytes

Versions: 11

Compression:

Stored size: 657 Bytes

Contents

shared_examples 'Result' do
  let(:result_name) { described_class.name.split("::")[-1]}
  specify { expect(subject.value).to eq 1 }
  specify { expect(result.new(subject)).to eq result.new(1) }

  it "#fmap" do
    expect(result.new(1).fmap { |e| e + 1 }).to eq result.new(2)
  end

  it "#bind" do
    expect(result.new(1).bind { |v| result.new(v + 1)}).to eq result.new(2)
  end

  it "#to_s" do
    expect(result.new(1).to_s).to eq "1"
    expect(result.new({a: 1}).to_s).to eq "{:a=>1}"
  end

  it "#inspect" do
    expect(result.new(1).inspect).to eq "#{result_name}(1)"
    expect(result.new(:a=>1).inspect).to eq "#{result_name}({:a=>1})"
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
deterministic-0.16.0 spec/lib/deterministic/result/result_shared.rb
deterministic-0.15.3 spec/lib/deterministic/result/result_shared.rb
deterministic-0.15.2 spec/lib/deterministic/result/result_shared.rb
deterministic-0.15.1 spec/lib/deterministic/result/result_shared.rb
deterministic-0.15.0 spec/lib/deterministic/result/result_shared.rb
deterministic-0.14.1 spec/lib/deterministic/result/result_shared.rb
deterministic-0.14.0 spec/lib/deterministic/result/result_shared.rb
deterministic-0.13.1 spec/lib/deterministic/result/result_shared.rb
deterministic-0.12.1 spec/lib/deterministic/result/result_shared.rb
deterministic-0.12.0 spec/lib/deterministic/result/result_shared.rb
deterministic-0.10.0 spec/lib/deterministic/result/result_shared.rb