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