Sha256: 5184e8f1c0863d962e3c377340686775c7e40c9e11abe97111747c6a52220e41

Contents?: true

Size: 594 Bytes

Versions: 4

Compression:

Stored size: 594 Bytes

Contents

# frozen_string_literal: true

RSpec.describe Fear::Either do
  describe "pattern matching" do
    subject do
      case value
      in Fear::Right[Integer => int]
        "right of #{int}"
      in Fear::Left[Integer => int]
        "left of #{int}"
      else
        "something else"
      end
    end

    context "when value is right of integer" do
      let(:value) { Fear.right(42) }

      it { is_expected.to eq("right of 42") }
    end

    context "when value is left of integer" do
      let(:value) { Fear.left(42) }

      it { is_expected.to eq("left of 42") }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fear-3.0.0 spec/fear/either_pattern_matching_spec.rb
fear-2.0.1 spec/fear/either_pattern_matching_spec.rb
fear-2.0.0 spec/fear/either_pattern_matching_spec.rb
fear-1.2.0 spec/fear/either_pattern_matching_spec.rb