spec/fear/some_spec.rb in fear-0.10.0 vs spec/fear/some_spec.rb in fear-0.11.0

- old
+ new

@@ -47,6 +47,43 @@ describe '#empty?' do subject { some.empty? } it { is_expected.to eq(false) } end + + describe '#match' do + context 'matched' do + subject do + some.match do |m| + m.some(->(x) { x > 2 }) { |x| x * 2 } + m.none { 'noop' } + end + end + + it { is_expected.to eq(84) } + end + + context 'nothing matched and no else given' do + subject do + proc do + some.match do |m| + m.some(->(x) { x < 2 }) { |x| x * 2 } + m.none { 'noop' } + end + end + end + + it { is_expected.to raise_error(Fear::MatchError) } + end + + context 'nothing matched and else given' do + subject do + some.match do |m| + m.none { |x| x * 2 } + m.else { :default } + end + end + + it { is_expected.to eq(:default) } + end + end end