Module: RubyCheck
- Defined in:
- lib/rubycheck.rb
Overview
RubyCheck
Defined Under Namespace
Classes: PropertyFailure
Constant Summary collapse
- VERSION =
'0.0.1'- TRIALS =
10000
Class Method Summary collapse
- .for_all(property, gen_syms) ⇒ Object
- .gen_array(gen_sym) ⇒ Object
- .gen_byte ⇒ Object
- .gen_char ⇒ Object
- .gen_int ⇒ Object
-
.gen_str ⇒ Object
Returns a random string.
Class Method Details
.for_all(property, gen_syms) ⇒ Object
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/rubycheck.rb', line 62 def self.for_all(property, gen_syms) 0.upto(TRIALS - 1).each do |i| test_case = gen_syms.map { |gen_sym| send(gen_sym) } fail PropertyFailure.new(test_case), 'test case error' unless property.call(*test_case) end rescue PropertyFailure => e e.test_case else true end |
.gen_array(gen_sym) ⇒ Object
33 34 35 36 37 |
# File 'lib/rubycheck.rb', line 33 def self.gen_array(gen_sym) len = gen_int % 100 0.upto(len).map { |i| send(gen_sym) } end |
.gen_byte ⇒ Object
19 20 21 |
# File 'lib/rubycheck.rb', line 19 def self.gen_byte gen_int % 256 end |
.gen_char ⇒ Object
26 27 28 |
# File 'lib/rubycheck.rb', line 26 def self.gen_char (gen_int % 128).chr end |
.gen_int ⇒ Object
12 13 14 |
# File 'lib/rubycheck.rb', line 12 def self.gen_int Random.rand(10e10).to_i end |
.gen_str ⇒ Object
Returns a random string.
40 41 42 |
# File 'lib/rubycheck.rb', line 40 def self.gen_str gen_array(:gen_char).join('') end |