spec/fear/right_biased/right.rb in fear-1.0.0 vs spec/fear/right_biased/right.rb in fear-1.1.0

- old
+ new

@@ -1,142 +1,144 @@ +# frozen_string_literal: true + RSpec.shared_examples Fear::RightBiased::Right do - describe '#include?' do - context 'contains value' do - subject { right.include?('value') } + describe "#include?" do + context "contains value" do + subject { right.include?("value") } it { is_expected.to eq(true) } end - context 'does not contain value' do - subject { right.include?('another value') } + context "does not contain value" do + subject { right.include?("another value") } it { is_expected.to eq(false) } end end - describe '#get_or_else' do - context 'with block' do - subject { right.get_or_else { 'default' } } + describe "#get_or_else" do + context "with block" do + subject { right.get_or_else { "default" } } - it 'returns value' do - is_expected.to eq('value') + it "returns value" do + is_expected.to eq("value") end end - context 'with default argument' do - subject { right.get_or_else('default') } + context "with default argument" do + subject { right.get_or_else("default") } - it 'returns value' do - is_expected.to eq('value') + it "returns value" do + is_expected.to eq("value") end end - context 'with false argument' do + context "with false argument" do subject { right.get_or_else(false) } - it 'returns value' do - is_expected.to eq('value') + it "returns value" do + is_expected.to eq("value") end end - context 'with nil argument' do + context "with nil argument" do subject { right.get_or_else(nil) } - it 'returns value' do - is_expected.to eq('value') + it "returns value" do + is_expected.to eq("value") end end end - describe '#each' do + describe "#each" do subject do proc do |block| expect(right.each(&block)).to eq(right) end end - it 'calls the block with value' do - is_expected.to yield_with_args('value') + it "calls the block with value" do + is_expected.to yield_with_args("value") end end - describe '#or_else' do - it 'does not call block' do + describe "#or_else" do + it "does not call block" do expect { |probe| right.or_else(&probe) }.not_to yield_control end - it 'returns the same object' do + it "returns the same object" do expect(right.or_else { 42 }).to eql(right) end end - describe '#map' do + describe "#map" do subject { right.map(&:length) } - it 'perform transformation' do + it "perform transformation" do is_expected.to eq(described_class.new(5)) end end - describe '#flat_map' do - context 'block returns neither left, nor right' do + describe "#flat_map" do + context "block returns neither left, nor right" do subject { proc { right.flat_map { 42 } } } - it 'fails with TypeError' do + it "fails with TypeError" do is_expected.to raise_error(TypeError) end end - context 'block returns RightBiased' do + context "block returns RightBiased" do subject { right.flat_map { |e| described_class.new("Result: #{e}") } } - it 'maps to block result' do - is_expected.to eq(described_class.new('Result: value')) + it "maps to block result" do + is_expected.to eq(described_class.new("Result: value")) end end end - describe '#to_option' do + describe "#to_option" do subject { right.to_option } - it { is_expected.to eq(Fear::Some.new('value')) } + it { is_expected.to eq(Fear::Some.new("value")) } end - describe '#any?' do + describe "#any?" do subject { right.any?(&predicate) } - context 'matches predicate' do - let(:predicate) { ->(v) { v == 'value' } } + context "matches predicate" do + let(:predicate) { ->(v) { v == "value" } } it { is_expected.to eq(true) } end - context 'does not match predicate' do - let(:predicate) { ->(v) { v != 'value' } } + context "does not match predicate" do + let(:predicate) { ->(v) { v != "value" } } it { is_expected.to eq(false) } end end - describe '#===' do + describe "#===" do subject { match === right } - context 'matches erectly' do - let(:match) { described_class.new('value') } + context "matches erectly" do + let(:match) { described_class.new("value") } it { is_expected.to eq(true) } end - context 'the same object' do + context "the same object" do let(:match) { right } it { is_expected.to eq(true) } end - context 'value does not match' do - let(:match) { described_class.new('error') } + context "value does not match" do + let(:match) { described_class.new("error") } it { is_expected.to eq(false) } end - context 'matches by class' do + context "matches by class" do let(:match) { described_class.new(String) } it { is_expected.to eq(true) } end - context 'does not matches by class' do + context "does not matches by class" do let(:match) { described_class.new(Integer) } it { is_expected.to eq(false) } end end end