Class: Synthra::Generator::Modes::EdgeMode
- Defined in:
- lib/synthra/generator/modes.rb
Overview
Edge mode - curated edge cases
Generates edge case values (empty strings, boundary values, nulls) useful for testing boundary conditions and error handling.
Instance Method Summary collapse
-
#edge_date ⇒ Date
Get an edge case date.
-
#edge_number(range = nil) ⇒ Numeric
Get an edge case number.
-
#edge_string ⇒ String
Get an edge case string.
-
#generate(type_instance, args, context = nil) ⇒ Object
Generate an edge case value.
Constructor Details
This class inherits a constructor from Synthra::Generator::Modes::BaseMode
Instance Method Details
#edge_date ⇒ Date
Get an edge case date
Returns a curated edge case date from EDGE_DATES.
174 175 176 |
# File 'lib/synthra/generator/modes.rb', line 174 def edge_date EDGE_DATES.sample(random: @rng.instance_variable_get(:@random)) end |
#edge_number(range = nil) ⇒ Numeric
Get an edge case number
Returns a curated edge case number from EDGE_NUMBERS, optionally filtered by range.
158 159 160 161 162 163 164 |
# File 'lib/synthra/generator/modes.rb', line 158 def edge_number(range = nil) candidates = EDGE_NUMBERS if range candidates = candidates.select { |n| range.cover?(n) } end candidates.empty? ? 0 : candidates.sample(random: @rng.instance_variable_get(:@random)) end |
#edge_string ⇒ String
Get an edge case string
Returns a curated edge case string from EDGE_STRINGS.
144 145 146 |
# File 'lib/synthra/generator/modes.rb', line 144 def edge_string EDGE_STRINGS.sample(random: @rng.instance_variable_get(:@random)) end |