test/shrinks_test.rb in rantly-1.2.0 vs test/shrinks_test.rb in rantly-2.0.0

- old
+ new

@@ -7,101 +7,97 @@ module RantlyTest::Shrinkers end describe Integer do - - it "not be able to shrink 0 integer" do + it 'not be able to shrink 0 integer' do assert !0.shrinkable? end - it "shrink positive integers to something less than itself" do + it 'shrink positive integers to something less than itself' do assert(3.shrink < 3) assert(2.shrink < 2) - assert_equal(0,1.shrink) + assert_equal(0, 1.shrink) end - it "shrink negative integers to something larger than itself" do + it 'shrink negative integers to something larger than itself' do assert(-3.shrink > -3) assert(-2.shrink > -2) - assert_equal(0,-1.shrink) + assert_equal(0, -1.shrink) end - it "shrink 0 to itself" do + it 'shrink 0 to itself' do # hmm. should this be undefined? assert_equal 0.shrink, 0 end end describe String do - - it "not be able to shrink empty string" do - assert !"".shrinkable? + it 'not be able to shrink empty string' do + assert !''.shrinkable? end - it "shrink a string one char shorter" do - property_of { + it 'shrink a string one char shorter' do + property_of do sized(10) { string } - }.check { |str| + end.check do |str| assert_equal 9, str.shrink.length - } + end end end describe Tuple do - - it "not be able to shrink empty tuple" do + it 'not be able to shrink empty tuple' do assert !Tuple.new([]).shrinkable? end - it "shrink tuple by trying to shrink the last shrinkable element available" do - assert_equal [1,0], Tuple.new([1,1]).shrink.array - assert_equal [1,0,0], Tuple.new([1,1,0]).shrink.array + it 'shrink tuple by trying to shrink the last shrinkable element available' do + assert_equal [1, 0], Tuple.new([1, 1]).shrink.array + assert_equal [1, 0, 0], Tuple.new([1, 1, 0]).shrink.array end - it "do not remove element from array when no element is shrinkable" do - property_of { + it 'do not remove element from array when no element is shrinkable' do + property_of do n = integer(1..10) - a = Tuple.new(Array.new(n,0)) - [n,a] - }.check { |n,a| + a = Tuple.new(Array.new(n, 0)) + [n, a] + end.check do |n, a| assert_equal n, a.shrink.length - } + end end end describe Hash do - - it "not be able to shrink empty hash" do + it 'not be able to shrink empty hash' do assert !{}.shrinkable? end - it "shrink a value if one of the values is shrinkable" do - assert_equal({foo: 0, bar: 0}, {foo: 1, bar: 0}.shrink) - assert_equal({foo: 0, bar: 0}, {foo: 0, bar: 1}.shrink) + it 'shrink a value if one of the values is shrinkable' do + assert_equal({ foo: 0, bar: 0 }, { foo: 1, bar: 0 }.shrink) + assert_equal({ foo: 0, bar: 0 }, { foo: 0, bar: 1 }.shrink) end - it "shrink by deleting an element in it if none of the values is shrinkable" do - assert_equal({},{foo: 0}.shrink) + it 'shrink by deleting an element in it if none of the values is shrinkable' do + assert_equal({}, { foo: 0 }.shrink) end end -describe "Shrinker Test" do - - it "shrink data to smallest value that fails assertion" do +describe 'Shrinker Test' do + it 'shrink data to smallest value that fails assertion' do + print "\n### TESTING A FAILING CASE, do not get scared" # We try to generate an array of 10 elements, filled with ones. # The property we try to test is that non of the element is # larger than 1, and the array's length is less than 4. - test = property_of { - a = Deflating.new(Array.new(10,1)) - i = Random::rand(a.length) + test = property_of do + a = Deflating.new(Array.new(10, 1)) + i = Random.rand(a.length) a[i] = 1 a - } + end assert_raises MiniTest::Assertion do - test.check { |a| - assert(!a.array.any? { |e| e > 0 } && a.length < 4,"contains 1") - } + test.check do |a| + assert(a.array.none?(&:positive?) && a.length < 4, 'contains 1') + end end assert_equal [1], test.shrunk_failed_data.array end end