spec/tests/DSL.rb in Checked-1.0.0 vs spec/tests/DSL.rb in Checked-1.1.0

- old
+ new

@@ -3,11 +3,11 @@ it 'returns a string' do BOX.String!('str').should.be == 'str' end - it 'raise Demand::Failed if not a string' do + it 'raises Demand::Failed if not a string' do lambda { BOX.String!([]) }.should.raise(Checked::Demand::Failed) .message.should.match %r!Array, \[\], must be a String! end @@ -19,13 +19,75 @@ it 'returns an array' do BOX.Array!([:arr]).should.be == [:arr] end - it 'raise Demand::Failed if not an Array' do + it 'raises Demand::Failed if not an Array' do lambda { BOX.Array!(:a) }.should.raise(Checked::Demand::Failed) .message.should.match %r!Symbol, :a, is not an Array.! end +end # === describe Array! + + +describe "File_Path!" do + + it 'returns a stripped string' do + BOX.File_Path!(" ~/ ").should.be == File.expand_path("~/") + end + + it 'raises Demand::Failed if not a string' do + lambda { + BOX.File_Path!(:something) + }.should.raise(Checked::Demand::Failed) + .message.should.match %r!Symbol, :something, must be a String! + end + end # === describe String! + + +describe "Bool!" do + + it 'returns original value' do + BOX.Bool!(true).should.be === true + BOX.Bool!(false).should.be === false + end + + it 'raises Demand::Failed if not a boolean' do + lambda { BOX.Bool!(:true) } + .should.raise(Checked::Demand::Failed) + .message.should.match %r!Symbol, :true, must be either of TrueClass or FalseClass! + end + +end # === describe Bool! + + +describe "True!" do + + it 'returns original value' do + BOX.True!(true).should.be === true + end + + it 'raises Demand::Failed if not true' do + lambda { BOX.True!(false) } + .should.raise(Checked::Demand::Failed) + .message.should.match %r!FalseClass, false, must be true! + end + +end # === describe True! + + +describe "False!" do + + it 'returns original value' do + BOX.False!(false).should.be === false + end + + it 'raises Demand::Failed if not false' do + lambda { BOX.False!(true) } + .should.raise(Checked::Demand::Failed) + .message.should.match %r!TrueClass, true, must be false! + end + +end # === describe False!