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