class Fitting::Statistics::MeasurementCoverEnum
Attributes
all_responses[R]
cover_responses[R]
coverage_fully[R]
coverage_non[R]
coverage_partially[R]
max_response_path[R]
not_cover_responses[R]
not_covered_responses[R]
requests[R]
Public Class Methods
new(requests)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 7 def initialize(requests) @requests = requests @all_responses = 0 @cover_responses = 0 @not_cover_responses = 0 @max_response_path = 0 @coverage_fully = [] @coverage_non = [] @coverage_partially = [] @not_covered_responses = [] check_responses end
Public Instance Methods
check_responses()
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 20 def check_responses return if @ready @requests.map do |request| chech_request(request) end @ready = true end
Private Instance Methods
chech_request(request)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 32 def chech_request(request) check_cover(request) coverage_push(request) @max_response_path = request.path.to_s.size / 8 if request.path.to_s.size / 8 > @max_response_path request.responses.map do |response| check_response(response, request) end end
check_cover(request)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 70 def check_cover(request) @all = 0 @cover = 0 @not_cover = 0 request.responses.map do |response| response.json_schemas.map do |json_schema| count_cover(json_schema) end end end
check_json_schema(json_schema, request, response, json_schema_index)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 49 def check_json_schema(json_schema, request, response, json_schema_index) if json_schema.cover_enum != 100 @not_cover_responses += 1 @not_covered_responses.push("#{request.method}\t#{request.path} #{response.status} #{json_schema_index}") else @cover_responses += 1 end @all_responses += 1 json_schema_index + 1 end
check_response(response, request)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 42 def check_response(response, request) json_schema_index = 0 response.json_schemas.map do |json_schema| json_schema_index = check_json_schema(json_schema, request, response, json_schema_index) end end
count_cover(json_schema)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 82 def count_cover(json_schema) @all += 1 if json_schema.cover_enum != 100 @not_cover += 1 else @cover += 1 end end
coverage_push(request)
click to toggle source
# File lib/fitting/statistics/measurement_cover_enum.rb, line 60 def coverage_push(request) if @all == @cover @coverage_fully.push(request) elsif @all == @not_cover @coverage_non.push(request) else @coverage_partially.push(request) end end