Sha256: 6dd2776ccdd5a4f905532f8ef4922f739d29093b0a3bc7e0c9e1b884edc3f2d5
Contents?: true
Size: 994 Bytes
Versions: 2
Compression:
Stored size: 994 Bytes
Contents
require 'spec_helper' describe Some do let (:cat) { Cat.new("MOGGIE!") } let (:dog) { Dog.new("DOGGIE!") } subject { Some[cat] } it { should be_some } it { should be_some Cat } it { should_not be_some Dog } it { should_not be_none } it { should eq Some[cat] } it { should_not eq Some[dog] } it { should_not eq None } it "has a value" do Some[cat].value.should eq cat end it "can be passed a default value but won't use it" do Some[cat].value_or { dog }.should eq cat end it "can be anded with another some" do (Some[cat] & Some[dog]).should eq Some[cat, dog] end it "can be anded with a none, resulting in none" do (Some[cat] & None).should eq None end it "can be ored with another some" do (Some[cat] | Some[dog]).should eq Some[cat] end it "can be ored with a none resulting in itself" do (Some[cat] | None).should eq Some[cat] end it "prints as Some[value]" do Some[4].to_s.should eq "Some[4]" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
optional-0.0.2 | spec/lib/optional/some_spec.rb |
optional-0.0.1 | spec/lib/optional/some_spec.rb |