test/geometry/size.rb in geometry-6.1 vs test/geometry/size.rb in geometry-6.2
- old
+ new
@@ -1,9 +1,11 @@
require 'minitest/autorun'
require 'geometry/size'
describe Geometry::Size do
+ subject { Geometry::Size[10,10] }
+
describe "when constructed" do
it "create a Size object using list syntax" do
size = Geometry::Size[2,1]
assert_equal(2, size.size)
assert_equal(2, size.x)
@@ -91,7 +93,31 @@
assert_equal('Size[8, 9]', size.inspect)
end
it "implement to_s" do
size = Geometry::Size[10,11]
assert_equal('Size[10, 11]', size.to_s)
+ end
+
+ it 'must inset with horizontal and vertical insets' do
+ subject.inset(4).must_equal Geometry::Size[6, 6]
+ subject.inset(2,3).must_equal Geometry::Size[8, 7]
+ subject.inset(x:2, y:3).must_equal Geometry::Size[8, 7]
+ subject.inset(left:2, top:3).must_equal Geometry::Size[8, 7]
+ subject.inset(right:2, bottom:3).must_equal Geometry::Size[8, 7]
+ end
+
+ it 'must inset with insets for top, left, bottom, right' do
+ subject.inset(top:1, left:2, bottom:3, right:4).must_equal Geometry::Size[4, 6]
+ end
+
+ it 'must outset' do
+ subject.outset(4).must_equal Geometry::Size[14, 14]
+ subject.outset(2,3).must_equal Geometry::Size[12, 13]
+ subject.outset(x:2, y:3).must_equal Geometry::Size[12, 13]
+ subject.outset(left:2, top:3).must_equal Geometry::Size[12, 13]
+ subject.outset(right:2, bottom:3).must_equal Geometry::Size[12, 13]
+ end
+
+ it 'must inset with insets for top, left, bottom, right' do
+ subject.outset(top:1, left:2, bottom:3, right:4).must_equal Geometry::Size[16, 14]
end
end