Class: Less::MultipleChoiceExpectation

Inherits:
Object
  • Object
show all
Defined in:
lib/less_interactions/multiple_choice_expectation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parameters) ⇒ MultipleChoiceExpectation

Returns a new instance of MultipleChoiceExpectation.



7
8
9
# File 'lib/less_interactions/multiple_choice_expectation.rb', line 7

def initialize parameters 
  @parameters = parameters
end

Instance Attribute Details

#parametersObject (readonly)

Returns the value of attribute parameters.



5
6
7
# File 'lib/less_interactions/multiple_choice_expectation.rb', line 5

def parameters
  @parameters
end

Instance Method Details

#all_params_are_not_nil?(hash_to_verify) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
# File 'lib/less_interactions/multiple_choice_expectation.rb', line 24

def all_params_are_not_nil?(hash_to_verify)
  hash_to_verify.any? do |k,v|
    v.nil?
  end
end

#verifies_expectations?(hash_to_verify) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
# File 'lib/less_interactions/multiple_choice_expectation.rb', line 17

def verifies_expectations?(hash_to_verify)
  valid = @parameters.any? do |parameter|
    hash_to_verify.has_key?(parameter) && !hash_to_verify[parameter].nil?
  end
  return valid
end

#verify(hash_to_verify) ⇒ Object



11
12
13
14
15
# File 'lib/less_interactions/multiple_choice_expectation.rb', line 11

def verify(hash_to_verify)
  unless verifies_expectations?(hash_to_verify)
    raise MissingParameterError, "Parameters empty #{@parameters.map(&:to_sym)} (At least one of these must not be nil)"
  end
end